gpt4 book ai didi

ruby - 学生 :Class 的未定义方法 'each'

转载 作者:数据小太阳 更新时间:2023-10-29 07:16:17 26 4
gpt4 key购买 nike

我想加载一个文件,将其内容拆分为数组,然后将类应用到内容。

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

我得到了

undefined method 'each' for Student:Class (NoMethodError)

第 28 行,即 puts show() 行。关于如何进一步了解这方面的任何线索?

最佳答案

我认为你那里有一个错字(除其他外)。你这样做:

for i in Student
puts show()
end

显然,Student 类不是一个可以迭代的集合。我想,你的意思是这样写的:

allStudents.each do |student|
puts student.show
end

关于ruby - 学生 :Class 的未定义方法 'each',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12949904/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com