您正在调用的方法是
Player
类,这意味着您需要创建
游戏者
以便呼叫他们。
如果您想创建一个新的类(使用
Player.new
),您需要提供所有三个值才能使其工作(
Player.new("Mike", "Center", "Spartans")
). 这不符合您想要在实例方法中设置变量的要求。
要评论现有代码,我不会使用
chomp
内部
游戏者
班这个
游戏者
类应该只关注玩家的状态。如果你想设置值,我会在外面做所有的提示。
class Player
attr_accessor :name, :position, :team
def player_info
"#{name} plays #{position} for #{team}"
end
end
player = Player.new
puts "Who is your favorite NFL player?"
player.name = gets.chomp
puts "What position does #{player.name} play?"
player.position = gets.chomp
puts "What team does #{player.name} play for?"
player.team = gets.chomp
puts player.player_info
# => "Mike plays Center for Spartans"