NoMethodError:nil:NilClass的未定义方法“ +”

谭凯文

我尝试谷歌搜索并查看stackoverflow,但仍然无法弄清楚为什么它不起作用。本质上,这行代码读取file.txt并遍历文本文件上的指令行

# Load instruction in an array
File.open('file.txt').each do |line|
  line_num += 1
  array.to_a.push line.split(" ")
end

# Loop through the array of Instructions
array.each do |line|
  instruction = line[0]
  value = line[1].to_i

这是我得到的错误

NoMethodError: undefined method `+' for nil:NilClass

method block in <main>  in VirtualMemory.rb at line 3
method each in VirtualMemory.rb at line 2
method <main>   in VirtualMemory.rb at line 2
大卫·奥尔德里奇(David Aldridge)
line_num += 1

相当于

line_num = line_num + 1

由于未定义line_num,因此它为nil -解决方法是在打开文件之前将其初始化为0,或者可以执行以下操作:

array = File.open('file.txt').each.map{ |line| line.split(" ")}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

nil:NilClass <NoMethodError>的未定义方法'[]'

NoMethodError未定义的方法`',用于nil:NilClass

未定义的方法“ +”,用于nil:NilClass(NoMethodError)-Ruby

Rails DateTime-NoMethodError(nil:NilClass的未定义方法“ []”)

学习 Ruby on Rails:NoMethodError(未定义方法 `[]' for nil:NilClass):

nil:NilClass Ruby on Rails的未定义方法'>'(NoMethodError)

ActiveStorage:NoMethodError(nil:NilClass 的未定义方法`[]')

NoMethodError未定义的方法'[] ='为nil:NilClass

`<main>': nil:NilClass (NoMethodError) 的未定义方法 `call'

Heroku + Rails:NoMethodError(nil:NilClass的未定义方法“ /”)

NoMethodError(为 nil:NilClass 未定义方法 `created_at')

测试抱怨NoMethodError:nil:NilClass的未定义方法“名称”

事件中的NoMethodError nil:NilClass的未定义方法“名字”

NoMethodError未定义的方法`name'为nil:NilClass

NoMethodError(nil:NilClass的未定义方法“ posts”)

为 nil:NilClass (NoMethodError) 获取错误未定义的方法“[]”

NoMethodError:nil:NilClass的未定义方法“用户”

NoMethodError-未定义的方法`get'for nil:NilClass

DatabaseCleaner引发NoMethodError:nil:NilClass的未定义方法“ rollback”

NoMethodError:nil:NilClass的未定义方法'id'

NoMethodError:未定义的方法“存根!” 对于nil:NilClass

NoMethodError - nil:NilClass 的未定义方法`map'

NoMethodError(nil:NilClass的未定义方法“ destroy”):

#<NoMethodError:未定义的方法'any?' 对于nil:NilClass>

NoMethodError发生未定义的nil:NilClass方法

银莲花-NoMethodError:nil:NilClass的未定义方法“ xpath”

Ruby 方法返回为“未定义的方法‘include?’ 对于 nil:NilClass (NoMethodError)"

在方法调用之前,nil:NilClass(NoMethodError)的Ruby未定义方法“ []”

使用Ruby获取方法错误“ NoMethodError:nil:NilClass的未定义方法'each'”