[英]How to make delay before each character is printed in a string using Ruby
有誰知道如何在Ruby中在字符串中的每個字符打印之間創建一個小的延遲(可能為0.1秒)?
我嘗試了其他方法(如下所示); 但是,我確定存在一個更簡單的方法,因為im使用的方法很耗時間(和空間):
#ugly/boring method vvv
print "h"
sleep 0.1
print "e"
sleep 0.1
print "l"
sleep 0.1
print "l"
sleep 0.1
print "o"
我已經對該主題進行了一些研究,並發現了在C和php下的一種方法,但是似乎沒人能找到Ruby的答案。
先謝謝您的幫助。
"hello".each_char do |c|
sleep 0.1
print c
end
文件: String#each_char
您還可以猴子修補字符串類:
class String
def print_slowly
self.each_char do |c|
sleep 0.1
print c
end
end
end
#usage
"hello".print_slowly
一個超級簡單的方法是這樣的:
"hello".split(//).each do |c|
sleep 0.1
print c
end
這是更詳細的解釋:
string = "hello"
split_that_string = string.split(//);
for character in split_that_string
sleep 0.1
print character
end
您也可以為此創建一個方法:
def print_a_string_one_character_at_a_time(string)
array_of_characters = string.split(//);
for character in array_of_characters
sleep 0.1
print character
end
end
然后您可以將任何字符串傳遞給該方法。 這是一個例子:
print_a_string_one_character_at_a_time("Hello, World!")
這將輸入Hello,World! 一次一個字符(並返回字符數組)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.