如何看待我使用类创建的对象,如数组
问题描述:
所以我传入散列作为单个参数到这个类,然后返回一个嵌套的数组。我没有问题将散列转换为数组,但是,我无法弄清楚如何让测试代码在下面工作。我需要像访问数组一样访问对象,同时还要调用对象上的实例方法。预先感谢你们,任何帮助将不胜感激。如何看待我使用类创建的对象,如数组
class Student
attr_accessor :scores, :first_name
def initialize(student_data)
@student_data = student_data
@first_name = student_data[:first_name]
@scores = student_data[:scores]
return @students = @student_data.to_a
end
def first_name
end
def scores
end
end
p students[0].first_name == "Alex"
p students[0].scores.length == 5
答
你正在覆盖你的getter方法,里面什么都没有。
您正在更换:
def first_name
return first_name
end
有:
def first_name
end
我也将假设你正确申报学生阵列。类似的东西来:
students = []
students.push(Student.new({first_name: "Alex", scores: [89, 100, 93, 72, 95] }))
然后尝试:
p students[0].first_name == "Alex"
p students[0].scores.length == 5
真棒,这完美地工作。干杯! –
很高兴听到。 :) –