所以,我知道有一个简单的错误,但我似乎无法发现它。我是第一次使用Modules / Mixins,我们非常感谢任何帮助。我一直收到这个错误:
undefined method `this_is' for Value:Module (NoMethodError)
但看起来方法就在那里......这是我的模块和类......
module Value
def this_is
puts "#{self.players_hand} is the players hand"
end
end
require './value.rb'
class Player
include Value
attr_accessor :players_hand
def initialize
@players_hand = 0
end
def value_is
Value.this_is
end
end
require './player.rb'
class Game
def initialize
@player = Player.new
end
def start
puts @player.players_hand
puts @player.value_is
end
end
game = Game.new
game.start
答案 0 :(得分:1)
当您在include Value
类中Player
时,您将Value
模块的方法作为Player
类的一部分,因此this_is
方法不是命名空间。知道了,我们需要改变这种方法:
def value_is
Value.this_is
end
要:
def value_is
this_is
end