创建加载三个小点
Create the loading three little dots
你好,我怎样才能使三个点加载 (...),这样它就可以做类似这样的事情,除了每次都不换行:
正在加载
正在加载。
正在加载...
正在加载..
正在加载。
等等:
这是我想出来的,唯一的问题是,如果加载持续超过 1.5 秒,我无法一个一个地删除圆点。
puts "Sending"
sleep(0.5)
print "."
sleep(0.5)
print "."
sleep(0.5)
print "."
希望我够清楚了。
感谢您的帮助。
你可以试试 $stdout.flush
:
def loading number_of
number_of.times do |t|
print "Sending#{'.' * (t % 4)} \r"
$stdout.flush
sleep 0.5
end
end
10.times do |i|
print "Sending." + ("." * (i % 3)) + " \r"
$stdout.flush
sleep(0.5)
end
那么,这是如何工作的?
10.times do |i|
重复以下代码10次,变量i
表示当前迭代(0,1,2,3,4...)
print "Sending." + ("." * (i % 3)) + " \r"
打印短语 "Sending." 后跟几件事:
("." * (i % 3))
重复 ("multiplies") 字符串 "."
几次,特别是 i % 3
,它是 i
除以 3 的余数.所以当i
为7时,i % 3
为1.
"\r"
将光标移回行首 而不会 换行。如果您想到打字机,它就像 return 将回车符(打字的位)打到行首,这样您就可以在同一行上再次打字。这是一辆马车return。
$stdout.flush
确保打印数据。
sleep(0.5)
睡半秒
你好,我怎样才能使三个点加载 (...),这样它就可以做类似这样的事情,除了每次都不换行:
正在加载
正在加载。
正在加载...
正在加载..
正在加载。
等等:
这是我想出来的,唯一的问题是,如果加载持续超过 1.5 秒,我无法一个一个地删除圆点。
puts "Sending"
sleep(0.5)
print "."
sleep(0.5)
print "."
sleep(0.5)
print "."
希望我够清楚了。
感谢您的帮助。
你可以试试 $stdout.flush
:
def loading number_of
number_of.times do |t|
print "Sending#{'.' * (t % 4)} \r"
$stdout.flush
sleep 0.5
end
end
10.times do |i|
print "Sending." + ("." * (i % 3)) + " \r"
$stdout.flush
sleep(0.5)
end
那么,这是如何工作的?
10.times do |i|
重复以下代码10次,变量i
表示当前迭代(0,1,2,3,4...)
print "Sending." + ("." * (i % 3)) + " \r"
打印短语 "Sending." 后跟几件事:
("." * (i % 3))
重复 ("multiplies") 字符串"."
几次,特别是i % 3
,它是i
除以 3 的余数.所以当i
为7时,i % 3
为1."\r"
将光标移回行首 而不会 换行。如果您想到打字机,它就像 return 将回车符(打字的位)打到行首,这样您就可以在同一行上再次打字。这是一辆马车return。$stdout.flush
确保打印数据。
sleep(0.5)
睡半秒