[問題] 關於類別宣告建構子..

看板Ruby作者 (壞)時間13年前 (2011/08/01 11:00), 編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/1
環境: Ruby 1.9.1 狀況: 請問ruby 宣告 建構子 , 如何做到overloading 呢? 我在宣告 不同的constructor的時候會出錯, 還是它不像java一樣 可以宣告多個 constructor? code: ----------------------------------------------- class Car #未傳入的constuctotor def initialize @color = "red" end #傳入一個引數的constructor def initialize(color) @color = color end def get_color return @color end end moto = Car.new("blue") puts moto.get_color -------------------------------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.40.163

08/01 11:06, , 1F
define initialize(color="red")
08/01 11:06, 1F

08/01 11:07, , 2F
^^^ 多三個字 QQ
08/01 11:07, 2F

08/01 11:12, , 3F
不懂 要打define 宣告? 我打了似乎不行..
08/01 11:12, 3F

08/01 11:16, , 4F
Ruby並沒有支援function overloading
08/01 11:16, 4F

08/01 11:20, , 5F
不過你宣告不同的initialize應該不會出錯
08/01 11:20, 5F

08/01 11:21, , 6F
後面的def會蓋掉前面的def,但不會有錯 XD
08/01 11:21, 6F

08/01 11:28, , 7F
沒有function overloading的話 那不就要自己去改= =?
08/01 11:28, 7F

08/01 11:39, , 8F
這也算是Ruby FAQ了吧 XD 請參考本版 1427, 1428
08/01 11:39, 8F

08/01 12:47, , 9F
抱歉= = 我一開始爬文只注意overload.... 太久沒碰中文XD
08/01 12:47, 9F

08/01 12:53, , 10F
不,我是說我一樓推文多打三個字 orz
08/01 12:53, 10F
文章代碼(AID): #1EDXQ-z- (Ruby)
文章代碼(AID): #1EDXQ-z- (Ruby)