2013-11-03 214 views
2

我正在學習Ruby,我正在嘗試開發一款二十一點遊戲。如何從同一類的另一個實例方法調用實例方法?

我創建一個類,這裏​​是GIST

https://gist.github.com/robypez/7288032

我的手類創建一個玩家一個全新的手的對象(或經銷商) 它是一個數組,數組的每卡內是由這個鍵的散列定義的:card,:suit,:value

我遇到了「compensated_value」方法的問題。 此方法必須使用從實例方法返回的「ace_number」值ace_number

如何從類中的另一個實例方法調用實例方法?

我知道我可以定義一個實例可貴的,就是讓我的王牌數量的軌道,但我想知道是否有可能從一個類內的另一個實例方法調用實例方法。

我的實際解決方案是使用實例變量@ace_number,每當我調用方法「receive_card」時,我都會調用方法「is_ace?」在卡上,結果是真實的,我增加了@ace_number變量。

謝謝

回答

6

下面是一些簡單的代碼來回答的帖子你的主題問題。

如何從同一類的另一個實例方法調用實例方法?

class Foo 
    def bar 
    11 
    end 

    def baz 
    bar 
    end 
end 

Foo.new.baz # => 11 
相關問題