新手问题 ruby 循环问题

rubiniuer · 2012年11月14日 · 最后由 rubiniuer 回复于 2012年11月16日 · 2511 次阅读

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 好的,多谢了

需要 登录 后方可回复, 如果你还没有账号请 注册新账号