文件 demo.rb 中的代码如下,其中 testfile 文件中的文字为“this is the test”
ARGV << "testfile"
print while gets
代码来自于Ruby core 文档的 gets 方法
终端执行 demo.rb,返回值为:this is the test,说明 print 打印的是整个 testfile 的内容,也就是 gets 的值,是否就是说 while gets 返回的就是 gets 的值。但是我的理解 while 是做判断,如果 gets 为 nil,则 while gets 判断为 false,print 值为 false,如果 gets 不为 nil,则 while gets 判断为 true,print 值为 true。但是实际结果与我的理解不同,请问,问题在哪里?