我正在阅读一个文本文件,每行都有说明。我想将每行文本分配给它自己的变量。当我这样做时,返回的值为nil,但是当我输出readlines [n]的值时,它是正确的。
例如
# Using the variable (incorrect result)
puts current_zone_size
>
例如
# Using readlines after variable assignment (incorrect result)
current_zone_size = instructions.readlines[0]
instructions.readlines[0]
>
例如
# Using readlines (correct result)
instructions.readlines[0]
> 8 10
这是我的代码:
instructions = File.open("operator-input.txt", "r")
current_zone_size = instructions.readlines[0]
rover_init_location_orientation = instructions.readlines[1]
rover_movements = instructions.readlines[2]
这是正在读取的文件中的文本:
8 10
1 2 E
MMLMRMMRRMML
编辑:文件关闭了吗?如果我不从块内进行变量分配,这就是为什么我无法从File.readlines [n]分配值的原因吗?
此外,该文件将只包含三行,这就是为什么我不使用循环来读取行的原因。
我最终一次读取了所有行,现在我可以在块外设置每个变量。像这样:
instructions = File.readlines "operator-input.txt"
current_zone_size = instructions[0]
rover_init_location_orientation = instructions[1]
rover_movements = instructions[2]
例如
puts current_zone_size
> 8 10