精華區beta Ruby 關於我們 聯絡資訊
※ 引述《PsMonkey (痞子軍團團長)》之銘言: [恕刪] : 我今天面對一個 function or method : 我怎麼知道他回傳的東西是什麼? : 單純看上面的例子,似乎是不太可能知道 : 回傳 Array 當中各個 element 的 data type : (Java 當中有 reflect 機制可以幫忙這一點 : 可是不太可能用在 coding 的時候來處理這樣子的問題) ㄜ,扯到這裡就要講一下我個人的喜好了 Ruby 雖然沒有像 Perl 那麼的誇張 但是 Ruby 本身對於 Data Type 的定義,給人感覺似乎沒有那麼的強烈 或是這樣講,Ruby 總是有辦法可以偷偷幫你轉換這些 Data Type 所以,回傳值 Data Type 是啥 通常....我不太 care @@! 這也是 Ruby 讓我那麼爽快的原因 不要太在乎那些規則,那些型別 We code for fun and happiness Perl 的型別有多誇張呢? 舉個例子 $a = "1"; print $a+2; 沒錯,他會出現 3 (字串跟數字可以相加XD) : 就可以繼續 coding 下去,不用擔心型態記錯 Ruby 是 Run Time 去定義 Class , 他是開放式的定義 因此,比較沒有型態記錯的問題 或者說,凡事輕鬆點,不要太在乎會比較好 :p 舉個例子 class A def call "A" end end tmp = A.new puts "At first, class A's method call()" puts tmp.call class A def yell "Yell B" end end tmp = A.new puts "After another type, class A's method call()" puts tmp.call puts tmp.yell 他執行的結果是 At first, class A's method call() A After another type, class A's method call() A Yell B 第一次呼叫 tmp.call 的時候 A這個 class 還沒有yell這個method 但是第二次呼叫的時候 A 已經偷偷加進去另外一個 method yell 當然JAVA也是有一些技巧可以做到類似的效果(我猜應該有啦@@!) 但是,還是沒有那麼的直接 嚴謹的語言有嚴謹的語言的優點 開放式的語言亦然有開放式的優點 總之, 寫 Ruby Code 的時候 不要想著 " 我的型態有沒有搞錯 " 會比較好過:p -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.230.103.127 ※ 編輯: giive 來自: 61.230.103.127 (05/24 21:34) ※ 編輯: giive 來自: 61.230.103.127 (05/24 21:50)
mosluce:上面...第一部分我不是很懂...第二部分在玩RGSS時碰到過 05/25 15:10
mosluce:當時實在搞不太清楚為什麼可以這樣~呵呵 05/25 15:11