如何在同一行上重复打印某些内容? 也就是说一个百分比的计数器直到某个过程完成了? 我希望在xterm行上百分比数字不会滚动而倒数。如何打印控制字符
如果我做
puts -nonewline "10%"
puts -nonewline "9%"
puts -nonewline "8%"
puts -nonewline "7%"
我得到:
10%9%8%7%....
这看起来不正确的。
诀窍是什么?
感谢, 格特
如何在同一行上重复打印某些内容? 也就是说一个百分比的计数器直到某个过程完成了? 我希望在xterm行上百分比数字不会滚动而倒数。如何打印控制字符
如果我做
puts -nonewline "10%"
puts -nonewline "9%"
puts -nonewline "8%"
puts -nonewline "7%"
我得到:
10%9%8%7%....
这看起来不正确的。
诀窍是什么?
感谢, 格特
你想要回车键将光标发送到该行的开头:
for {set i 10} {$i>0} {incr i -1} {
puts -nonewline [format "\r%2d%%" $i]
flush stdout
after 200
}; puts ""
请记住在输出字符串的末尾添加一个或多个空格。否则,你最终会得到“10%”,然后“9 %%”,然后“8 %%”等。 – slebetman 2014-09-28 01:57:14
这就是为什么我使用'format'和'%2d' – 2014-09-28 02:16:50
可能是'term'包可以帮助? – 2014-09-28 01:50:50