意外'';语法错误ruby

意外'';语法错误ruby,ruby,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

我正在学习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

等级接收三个参数。你不能在作业中这样做。所以改变

student1.grades = (60,70,80)


您可以将学生对象的分数指定为

student1.grades(60,70,80)
也可以进行小的编辑。您可以添加计算平均值的方法

def grades_details
  average_grade = (@math.to_i + @english.to_i + @science.to_i) / 3
  return average_grade
end
因此,当您重写为字符串u时,请调用它而不是self.grades

def grades_details
  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 grades_details
end