class Deck
attr_accessor :all
def initialize
@all = [1,2,3]
end
end
newdeck = Deck.new
puts newdeck.all
class Testdeck
attr_accessor :cards
def initialize
@cards = []
counter = 0
['H','C', 'S', 'D'].product(['2','3','4','5','6','7','8','9','10','J','K','Q','A']).each do |arr|
@cards << Card.new(arr[0], arr[1])
end
end
end
zen = Testdeck.new
puts zen.cards.pop
这段代码给了我:'block in initialize'未初始化的常量Testdeck NameError
感谢所有帮助。
答案 0 :(得分:1)
此代码不知道卡是什么;您收到的错误消息不是uninitialized constant Testdeck
错误,而是uninitialized constant Testdeck::Card
错误,其中::
表示Ruby正在查看Test类的Testdeck类(不是您需要的)把它放在那里,Ruby首先看那里。)
您需要在某处定义Card类,并使其构造函数接受字符串和整数。