카드 팩의 경우 :Ruby 해시 - 개체를 채울 때 해시 값을 사용하는 방법?
어떻게 팩을 만들 때 슈트 해시를 사용할 수 있습니까?
나는이 :
class PackOfCards
SUITS={H: 'Hearts', S:'Spades', D:'Diamonds', C:'Clubs'}
CARDS=['A','2','3','4','5','6','7','8','9','10','J','Q','K']
attr_accessor :pack_name, :cards
def initialize(pack_name)
@pack_name= pack_name
@cards = []
(0..3).each do |suit|
(0..12).each do |number|
@cards << PlayingCard.new(self, (SUITS[suit].value), CARDS[number])
end
end
end
end
class PlayingCard
attr_accessor :pack, :card_number, :card_suit
def initialize(pack, suit, number)
@card_suit = suit
@card_number = number
end
end
하지만 난 얻을 :
pack_of_cards.rb:16:in `block (2 levels) in initialize':
undefined method `value' for
{:H=>"Hearts", :S=>"Spades", :D=>"Diamonds", :C=>"Clubs"}:Hash (NoMethodError)
'SUITS'가 잘못 루비 표현을 . – sawa
해쉬의'{}'문법 ('[]'이 아닌)을 사용하도록 업데이트되었지만 같은 오류가 발생했습니다 : ( – junky