Ruby 战争游戏对_的方法抛出未定义的方法错误

Ruby 战争游戏对_的方法抛出未定义的方法错误,ruby,Ruby,我已经试着调试这个问题,但我无法解决它。我有一个战争卡类,我想做的是打印结果,显示游戏次数、计数以及两名玩家的牌数。我会数数,球员们也会动手工作,但我不能得到比赛的次数。任何帮助都将不胜感激。我关注的变量是@num_plays 这里我初始化num_plays并将其设置为0 阶级战争 attr_reader :num_plays def initialize orig_deck = Deck.new @player_a = DownStack.new @player_b = DownStack

我已经试着调试这个问题,但我无法解决它。我有一个战争卡类,我想做的是打印结果,显示游戏次数、计数以及两名玩家的牌数。我会数数,球员们也会动手工作,但我不能得到比赛的次数。任何帮助都将不胜感激。我关注的变量是@num_plays

这里我初始化num_plays并将其设置为0 阶级战争

attr_reader :num_plays

def initialize

orig_deck = Deck.new
@player_a = DownStack.new
@player_b = DownStack.new
@limbo_stack = DownStack.new
@num_plays = 0
在这里,玩家每次抽牌都会增加值(我没有显示所有的打法)

最后,我的to_方法抛出了一个未定义的方法错误

def to_s 
        output = " "
    output +=  "Number of plays:" + " " + @player_a.num_plays.to_s

正如@JTG在评论中所建议的,错误是告诉您试图调用
DownStack
实例上的
@player\u a.num\u plays
,而您显示的代码中没有实现它

War
实例上使用
num\u plays
,应该可以完成您所显示的操作

# war.rb
def to_s
    "Number of plays: #{@num_plays}"
end

(即,您需要添加您提到的其他值)

我在
War
上看到了
num\u plays
accessor,但您在
@player\u a
上调用了它——那里也有吗?请把你的错误也加上。不,我不是这个主意,是在每次播放后在计数中加上一个。这里是错误:war。rb:99:in
to_'s:undefined method
num_plays'for#(NoMethodError)from test.rb:4:in
write'from test.rb:4:in
print'from test.rb:4:in``不完全确定要做什么,但您的主要问题似乎是,您试图在一个没有将其作为方法/属性的对象上调用
num\u plays
。一定要格式化它,使其可读。
# war.rb
def to_s
    "Number of plays: #{@num_plays}"
end