4

我正在学习 Ruby,并且正在尝试开发二十一点游戏。

我创建了一个类,这里​​是 GIST

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

我的 Hand 类为玩家(或庄家)创建一个新的手对象它是一个数组,在数组中,每张牌都由具有此键的哈希定义:card, :suit, :value

我对“compensate_ace_value”方法有疑问。此方法必须使用从实例方法 ace_number 返回的“ace_number”值

如何从类中的另一个实例方法调用实例方法?

我知道我可以定义一个有价值的实例来跟踪我的 ace 号码,但我想知道是否可以从类中的另一个实例方法调用实例方法。

我的实际解决方案是使用实例变量@ace_number,每次我调用方法“receive_card”时,我都会调用方法“is_ace?” 在卡上,结果为真,我增加了@ace_number 变量。

谢谢

4

1 回答 1

8

这是一些简单的代码来回答您的帖子主题问题。

如何从同一个类的另一个实例方法调用实例方法?

class Foo
  def bar
    11
  end

  def baz
    bar
  end
end

Foo.new.baz # => 11
于 2013-11-03T10:25:24.600 回答