コンソールに文字を出力するときにわずかな遅延を挿入する Ruby スクリプトがあります。Web ページで同じことをしたいのですが、デモ サイトからスクリプトを呼び出すと、すべてが一度に出力されます。スクリプトは次のとおりです。
def add_breath(text, pause)
# print pause
char_list = text.scan(/./)
print "\n"
# now iterate through the char list and print each char with a slight delay
for char in char_list
if char == " " #or char == "?" or char == "!" or punctuation
sleep(0.02)
print char
elsif char == "," or char == "." or char == "!" or char == ":"
sleep(0.22)
print char
elsif char == '@'
sleep(pause)
elsif char == char.downcase or char == char.upcase
sleep(0.05)
print char
end
end
sleep(0.5)
print "\n"
#writes user input to file
target = File.open("sleep.txt", 'w')
target.write(text)
target.write("\n")
target.close()
end
text = "Make your sentences breath like this -- @O@M@G@!@ -- with the 'at' character (on US keyboards, that's shift+2). Your turn:"
# text = "Well, give it a try:"
add_breath(text, 0.3)
text = gets
puts "OK, now tell me how long each breath should be (try 0.3):"
pause = gets.to_f
add_breath(text, pause)
どんな助けでも大歓迎です!