来自我习惯于为我管理关系的 Rails 框架的 Rails。
现在尝试只做基本的 Ruby。
试图理解关系和组成。以卡片包为例。现在只使用 1 到 52 的 card_number(暂时忽略花色和实数)。
下面的代码可以创建 PackOfCards,但没有创建我想要的 5 张卡片,要么什么都没有显示,要么我最后得到的 put 为零。
class PackOfCards
attr_accessor :pack_name, :cards
def initialize(pack_name)
@pack_name= pack_name
cards = []
5.times do
cards << PlayingCard.new(self)
end
end
end
class PlayingCard
attr_accessor :pack, :card_number
def initialize(pack)
@card_number = rand(52)
@pack = pack
end
end
my_pack=PackOfCards.new('bobs')
puts my_pack.pack_name
puts my_pack.cards # Nothing
my_pack.cards.each do |one_card|
puts one_card.card_number # Undefined method 'each' for nil
end
当我这样做时,如何创建卡片包并让它有 5 张卡片,我如何显示这 5 张卡片?