joh*_*ohk 5 ruby arrays class nomethoderror
我想加载一个文件,将其内容拆分为数组,并将该类应用于内容.
class Student
def initialize( name, grade )
@name = name
@grade = grade
@grade = @grade.to_i
@newgrade = @grade*1.45
end
def show()
return "#{@name} ,#{@grade} , #{@newgrade}"
end
end
# Opening the file into an array
arr = File.open("exam_results.txt", "r+")
allStudents = Array.new
for a in arr
b = a.split(",")
name = b[0]
score = b[1]
allStudents << Student.new(@name, @grade)
end
for i in Student
puts show()
end
Run Code Online (Sandbox Code Playgroud)
我越来越
Student的未定义方法'each':Class(NoMethodError)
在第28行,即puts show()行.有关如何进一步了解这一点的任何线索?
我认为你那里有一个错字(除其他外)。你正在这样做:
for i in Student
puts show()
end
Run Code Online (Sandbox Code Playgroud)
显然,Student类不是可以迭代的集合。我想,你本来想写的是这样的:
allStudents.each do |student|
puts student.show
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2779 次 |
| 最近记录: |