2016-10-02 67 views
-1

我正在学习ruby,并且看了看网络,看看这有什么问题。我曾尝试添加间距和变量之间删除它,我路过,但我不断收到此错误:意外的','语法错误ruby

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

下面是代码:

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 

回答

4

档次接收三个参数。你不要在任务中这样做。因此,改变

student1.grades = (60,70,80) 

student1.grades(60,70,80) 
1

,用户可以为学生目标成绩为

student1.grades(60,70,80) 

也轻微edits.You可以添加的方法计算平均

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

所以,当你重写以字符串ü称它而不是self.grades

def to_s 
    puts "Name = #{name}" 
    puts "Age = #{age}" 
    puts grades_details 
end