Hi, 大家好,请教一个问题,如下一段代码:
while true do puts "some text" break if condition... end
这里面"some text"的打印是不是自由在整个循环都执行完毕了才会被打印出来呀?
不是
问题是我写了类似这样的一段代码,运行起来给我的感觉是,这些字符只有在循环执行完毕后才会一起被打印出来的
你打印的太短可能会 push 到缓冲流。不过我一般都没遇到过。。
puts "some text" $stdout.flush
看到这问题我吓了一跳,还以为是自己的帖子呢 http://ruby-china.org/topics/6323 楼主可以参考
#4 楼 @Teddy 跟你问题不一样的,你的那个情况显然是第一次读完文件,文件指针已经走到文件末尾了,所以第二次读的时候就读不出东西了
#3 楼 @jjym flush 一下果然马上就有打印了,谢谢了哈!btw,能不能再请教一下,哪里有 ruby 输出机制相关的资料可以看呢?
#6 楼 @rubiniuer the ruby programming language 这本讲的很仔细
#7 楼 @jjym 好的,多谢了