新手问题 关于 sublime 环境下的 sleep 问题

saltwater · 2013年06月22日 · 最后由 saltwater 回复于 2013年06月23日 · 1986 次阅读

在 ruby 的自带 doc 上看到一个 observer 模式的实例,试运行了一下,里面有这样的代码: loop do price = Price.fetch(@symbol) puts "Current price: #{price}\n" if price != lastPrice changed # notify observers lastPrice = price notify_observers(Time.now, price) end
sleep 1 end

在 sublime 的 build 模式来运行,结果一行结果都没有输出。随后把 sleep 那一行注释掉了,结果运行就没有问题了。

原来的代码在 dos command 模式下,用 ruby 命令行执行也是正常的。

环境是 sublime2,win7,ruby 版本是 2.00p195

是否 sublime 对于 sleep 的执行有问题啊?想不通为什么。

为了简化代码期间,将代码改成这样,结果一样的。 loop do puts "hi"

sleep 1

end

搞清楚了,puts 之后应该加上 STDOUT.flush

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