未定义的方法 `split' 用于 nil:NilClass (NoMethodError) 用于数组

Muk*_*dir 5 ruby file-io

我正在尝试读取包含一些数字的文件。然后我想将它们转换为整数。当我像下面这样尝试时,没关系。

input = IO.readlines(filename)
size = input[0].split(/\s/).map(&:to_i)
Run Code Online (Sandbox Code Playgroud)

但是,当我像下面这样尝试时,它给了我那个错误。

input = IO.readlines(filename)
lnth = input.length
i=0
while i<=lnth
  size = input[i].split(/\s/).map(&:to_i)
  i=i+1
end
Run Code Online (Sandbox Code Playgroud)

nil:NilClass (NoMethodError) 的未定义方法`split'

我现在如何解决错误?

zis*_*she 2

很明显while i<lnth不是<=

while i<lnth
  size = input[i].split(/\s/).map(&:to_i)
  i=i+1
end
Run Code Online (Sandbox Code Playgroud)

但最好使用:

size = line.split(/\s/).map(&:to_i)
Run Code Online (Sandbox Code Playgroud)