只是为了好玩,我如何编写一个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 }

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...