只是为了好玩,我如何编写一个ruby程序,一次缓慢打印到stdout一个字符?

前端之家收集整理的这篇文章主要介绍了只是为了好玩,我如何编写一个ruby程序,一次缓慢打印到stdout一个字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我认为这可行
"a b c d e f g h i j k".each {|c| putc c ; sleep 0.25}

我期望看到“a b c d e f j”一次打印一个字符,每个字符之间有0.25秒.但相反,整个字符串立即打印.

解决方法

两件事情:

>您需要使用.each_char来迭代字符.在Ruby 1.8中,String.each将逐行进行.在Ruby 1.9中,不推荐使用String.each.
>如果希望立即显示字符,则应手动刷新$stdout.否则,它们往往会被缓冲,以便角色最后一次出现.

.

#!/usr/bin/env ruby
"a b c d d e f g h i j k".each_char {|c| putc c ; sleep 0.25; $stdout.flush }

猜你在找的Ruby相关文章