作者PsMonkey (痞子軍團團長)
站內Ruby
標題Re: [分享] 另一個 Parallel Assignment 玩法
時間Wed May 24 20:32:29 2006
麻煩請不要拿我的文章來搞 "推文成章"
我不會因為推文而降低我討戰 or 討鞭的決心... [挺]
(btw... 以上為個人身分發言)
※ 引述《PsMonkey (痞子軍團團長)》之銘言:
: 推 yalight:拿 IDE 來評論就不太公平了.. Java 這方面真的是麻煩, 05/24 17:13
拿 IDE 來評論就不太公平?
這句話我不懂...
我在這篇文章當中,提到用 IDE,也不過就是說用 "程式碼協助" 的功能罷了
(連 javadoc 會不會用 ToolTip 視窗顯示都沒強調)
那麼... 是哪裡不公平了...
: → yalight:只為了傳回多個數值在程式裡面要一直 new, 看到就令人冒汗 05/24 17:16
怪了... 這麼說,Ruby 不用再記憶體當中 new 新的物件就可以回傳東西?
(連那個 Array 都不用 new?)
: → yalight:而且傳回一個 Object[] 分不出型別, 那就相當於在程式中 05/24 17:17
: → yalight:必須確保放今都是相同的型別, 要不然就加入一些變數來辨認 05/24 17:19
: → yalight:型別是什麼?? 的確太囉唆了點, 用 reflection 就更囉唆了 05/24 17:20
: → yalight:Java1.5 的泛型也只提供能自動幫我們轉型的功能, 不能放任 05/24 17:22
: → yalight:意的物件, 為什麼array 只能同一種型別的東西?沒什麼道理 05/24 17:25
: → yalight:Ruby 裡每個物件都有class這個成員變數可以得知物件的型別 05/24 17:27
我沒研究 Ruby 的 data type
我知道的,都是這個 thread 的開頭那篇文章裡頭寫的
Java 裡頭所有類別的老祖宗都是 java.lang.Object
所以,你想塞所有東西,那就開一個 Object[] 的物件
這點,我看不出來跟 Ruby 的做法有什麼不同
(除非這篇 thread 開頭那篇文章有講錯... @__@)
所以,你說不能存放任意的物件,這點有誤
我的那篇文章當中就有給範例了
再者,Ruby 當中每個物件都有 class 這個 member
Java 裡頭是沒有這種東西...
可是我想 java.lang.Object.getClass() 這個 method 的功能是一樣的... [茶]
最後... 你要說囉唆,我的文章當中也承認
我也說了,我自己也覺得常常也寫的很厭煩
這點我絕對同意
但是,可是您推文了一堆,卻沒針對我提出
"囉唆造成 coding 上的好處"
提出質疑與論點...
我個人是覺得... 有點茫然無措...
(茶與小點心持續補貨中...)
: → yalight:我覺得有點類似 C++ 的 RTTI(real time type identify), 05/24 17:28
: → yalight:當然好的程式這些還是不夠, 好的文件和註解也是必要的..XD 05/24 17:29
: → yalight:如果有說錯 請見諒 m(_ _)m Ruby不熟...orz 05/24 17:30
: → yalight:阿 是 RTTI 是 runtime type identify...orz 05/24 17:57
--
侃侃長論鮮窒礙 網站:
http://www.psmonkey.idv.tw
眾目睽睽無心顫 個人版:telnet://legend.twbbs.org
煢居少聊常人事
殺頭容易告白難 歡迎參觀 Java 版(@ptt.cc) \囧/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.204.16.17
1F:推 yalight:那如果要 return 1, true, "3", new Integer(4), '5' 呢? 05/24 23:56
2F:→ yalight:發現 JDK1.5 會 autoboxing/autounboxing 不過基本上還是 05/25 00:04
3F:→ yalight:還是 new 一個物件出來把基礎型別包進去, 所以像 int 會被 05/25 00:05
4F:→ yalight:包成 Integer, boolean 被包成 Boolean... 這樣好嗎? 05/25 00:06
5F:→ yalight:又是一種多此一舉和浪費, Java 的 every thing is object 05/25 00:07
6F:→ yalight:唯一的例外就是基礎型別, 所以 autoboxing 這樣的功能也只 05/25 00:09
7F:→ yalight:能說是語法上的甜頭, 靠 compiler 幫我們處理型別轉換的問 05/25 00:09
8F:→ yalight:題, 然後我說的不能放任意的物件是假設靠泛型的機制幫我們 05/25 00:10
9F:→ yalight:自動轉型的情況, 我想 Vector<Object> 這樣的泛型是沒啥功 05/25 00:13
10F:→ yalight:用的, 因此如果要讓泛型發揮功用型別也就跟著受限... 05/25 00:14
11F:→ yalight:當然啦~ 強型別語言也有很多優點, Java 也是個很好的語言, 05/25 00:21
12F:→ yalight:但是 Ruby 也提供了另一種思維模式, 各適其所囉 XD 05/25 00:22