我正在创建一个班级。我从名为ROLL_CALL
的哈希中提取数据。 all
方法应返回Team
个对象的数组。
require_relative "./team_data"
class Team
attr_reader :name
def intialize (name)
@name = name
def all
all_teams = []
TeamData::ROLL_CALL.each do |team, info|
all_teams << Team.new(team)
end
all_teams
end
end
end
当我尝试拨打Team.all
时,我会获得all
的未定义方法。
答案 0 :(得分:0)
您的代码没有正确构建。 def all
应位于顶层并声明为类样式方法。还有其他一些值得修复的事情:
require_relative "./team_data"
class Team
def self.all
TeamData::ROLL_CALL.map do |team, info|
Team.new(team)
end
end
attr_reader :name
def intialize (name)
@name = name
end
end
使用map
代替创建一个临时数组并使用each
将内容干扰到其中只是为了最终返回它,因为这正是map
为你做的事情