看板 Ruby 關於我們 聯絡資訊
環境: 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
ducksteven:define initialize(color="red") 08/01 11:06
ducksteven: ^^^ 多三個字 QQ 08/01 11:07
larrywhy:不懂 要打define 宣告? 我打了似乎不行.. 08/01 11:12
aquarianboy:Ruby並沒有支援function overloading 08/01 11:16
aquarianboy:不過你宣告不同的initialize應該不會出錯 08/01 11:20
aquarianboy:後面的def會蓋掉前面的def,但不會有錯 XD 08/01 11:21
larrywhy:沒有function overloading的話 那不就要自己去改= =? 08/01 11:28
ihower:這也算是Ruby FAQ了吧 XD 請參考本版 1427, 1428 08/01 11:39
larrywhy:抱歉= = 我一開始爬文只注意overload.... 太久沒碰中文XD 08/01 12:47
ducksteven:不,我是說我一樓推文多打三個字 orz 08/01 12:53