我尝试谷歌搜索并查看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
line_num += 1
相当于
line_num = line_num + 1
由于未定义line_num,因此它为nil -解决方法是在打开文件之前将其初始化为0,或者可以执行以下操作:
array = File.open('file.txt').each.map{ |line| line.split(" ")}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句