class Player
attr_accessor :card_pile
def initialize
@bust = false
@card_pile = []
end
def bust?
return @cards.inject(:+) > 21
end
end
私はこのプレイヤーのクラスを持っていると私は以下のwhileループでは、この変数を使用したい変数別のRubyクラスのインスタンス変数にアクセスするには?
class Game
def initialize
@players = []
end
def playing_game
puts "How many players are playing? "
players_amount = gets.chomp.to_i
(0...players_amount).each do
puts ("What is the players name? ")
name = gets.chomp
@players.push(name)
end
puts @players
player = Player.new
player.initialize
while @card_pile.length < 2 do
new_card = Card.new
@card_pile.push(new_card.value)
end
end
card_pile initazliedています。なぜこれが私が望む方法でアクセスできないのですか? `` playing_game ':
エラーメッセージがあるプライベートメソッドinitialize' called for #<Player:0x007fda53073f48 @bust=false, @card_pile=[]> (NoMethodError)
:あなたがこれを行うことができますので、あなたは現在、任意の引数があなたのinitializeメソッドに渡されている必要はありませんが、
attr_accessor
でcard_pile
変数インスタンスを設定しています? – hellogoodbye'attr_accessor:@ card_pile'ではなく' attr_accessor:card_pile' –
あなたの質問は不明です。タイトルとテキストでインスタンス変数について質問しますが、エラーメッセージは完全に無関係なプライベートメソッドを呼び出すことです。では、プライベートメソッドやインスタンス変数を呼び出すことについて何を求めていますか?次に、コメント内でアクセサメソッドについて質問します。この場合も、エラーメッセージとは無関係です。 –