2016-10-02 4 views
-1

Ich lerne Rubin und habe das Internet angeschaut, um zu sehen, was falsch ist mit diesem. Ich habe das Hinzufügen Abstand versucht und es zwischen den Variablen zu entfernen ich vorbei, aber ich erhalte immer diese Fehlermeldung:Unerwarteter ',' Syntaxfehler ruby ​​

25: syntax error, unexpected ',', expecting ')' 
student1.grades =(60,70,80) 

Hier ist der Code:

class Student 
    attr_accessor :name, :age 

    def initialize(name,age) 
    @name = name 
    @age = age 
    end 

    def grades(math,english,science) 
    @math = math 
    @english = english 
    @science = science 
    average_grade = (math.to_i + english.to_i + science.to_i)/3 
    return average_grade 
    end 

    def to_s 
    puts "Name = #{name}" 
    puts "Age = #{age}" 
    puts self.grades 
    end 
end 

student1 = Student.new("Tom","23") 
student1.grades = (60,70,80) 
puts student1 

Antwort

4

Noten erhält drei Parameter. Sie tun das nicht mit Zuweisung. So ändern

student1.grades = (60,70,80) 

zu

student1.grades(60,70,80) 
1

Sie die Noten für Schüler Objekt zuweisen können als

student1.grades(60,70,80) 

Auch kleinere edits.You können die Methode zur Berechnung hinzufügen Durchschnitt

def grades_details 
    average_grade = (@math.to_i + @english.to_i + @science.to_i)/3 
    return average_grade 
end 

Also, wenn Sie überschreiben zu stringu rufen Sie es anstelle von an self.grades

Verwandte Themen