【发布时间】:2012-05-02 23:36:46
【问题描述】:
我有一个 Ruby 脚本可以完成一些耗时的工作。它只是命令行,我想表明脚本仍在运行并且没有停止。以前我很喜欢所谓的“旋转光标”,后来在 Windows 下的 Ruby 中重现了它。
问题:这在其他操作系统中是否有效?如果没有,是否有独立于操作系统的方法来完成此操作?
请不要使用 IRB 解决方案。
10.times {
print "/"
sleep(0.1)
print "\b"
print "-"
sleep(0.1)
print "\b"
print "\\"
sleep(0.1)
print "\b"
print "|"
sleep(0.1)
print "\b"
}
【问题讨论】:
-
它适用于我所知道的所有重要操作系统,除非打印的字符碰巧导致换行。
-
适用于 Linux、Ruby 1.8.7...
-
顺便说一下,这相当于
('/-\\|' * 10).each { |c| print c; sleep(0.1); print "\b" } -
嗨尼克拉斯,谢谢。但是,您的等效项中有一个错误,它必须是 each_char
-
如果没有人报告主要操作系统中的问题,我也会接受它作为答案,但请给它几天以确定。你们有谁知道如何在 ruby 中打印旧的 DOS 字符 176 到 178(填充有渐变的光标)?这种方式可能是控制台进度条
标签: ruby command-line progress