加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 19:14:32 所属栏目:百科 来源:网络整理
导读:我认为这可行 "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将逐
我认为这可行
"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 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读