2015-04-12 67 views
1

所以我傳入散列作爲單個參數到這個類,然後返回一個嵌套的數組。我沒有問題將散列轉換爲數組,但是,我無法弄清楚如何讓測試代碼在下面工作。我需要像訪問數組一樣訪問對象,同時還要調用對象上的實例方法。預先感謝你們,任何幫助將不勝感激。如何看待我使用類創建的對象,如數組

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 

回答

0

你正在覆蓋你的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 
+1

真棒,這完美地工作。乾杯! –

+0

很高興聽到。 :) –

相關問題