2013-02-15 62 views
0

創建。方法如何創建一個需要作爲一個變量,它的呼籲對象的方法來...紅寶石

例如在"Hello".to_s.to_s需要"Hello"作爲參數。

編輯:

謝謝你回答我的問題!

對於任何人想知道如何做到這一點,這裏有一個例子:在您再次爲例

+2

你爲什麼想這麼做?這完全破壞了Ruby中OOP的目的。 – Waseem 2013-02-15 08:53:31

+0

我不知道,這是非常普遍的做法..我很好奇它是如何完成的。 – Abram 2013-02-15 08:54:56

+0

...我真的不明白你的意思。 – Abram 2013-02-15 08:55:20

回答

2

def double 
    self*2 
    end 

    2.double 
    =>4 

感謝,在to_s身體,你可以參考"Hello"使用self。如果這不是你要求的,你需要更好地描述你的問題。

+0

我相信這是適當的解決方案。但我也認爲@Waseem是對的;這在Ruby中失敗了OOP的目的。 – 2013-02-15 08:56:55

+0

這個問題可能會受到python的影響,其中'self'是任何方法的第一個參數(如果我沒有記錯的話,告訴我我是否錯了)。 – ksol 2013-02-15 08:58:43

+0

謝謝你。正是我想要的。 – Abram 2013-02-15 20:56:21

4

您需要打開該類並對其進行擴展。

class String 
    def i_love 
    "I love #{self}" 
    end 
end 

"Pizza".i_love 
=> "I love Pizza" 
+0

謝謝你的回答。給予好評! – Abram 2013-02-15 21:07:13