加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby – Student:Class的未定义方法’each’

发布时间:2020-12-17 03:15:01 所属栏目:百科 来源:网络整理
导读:我想加载一个文件,将其内容拆分为数组,并将该类应用于内容. 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}" endend# Ope
我想加载一个文件,将其内容拆分为数组,并将该类应用于内容.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读