Html 如何制作Ruby';s sleep方法延迟在Rails网页上打印?
我有一个Ruby脚本,它在控制台上打印字符时会插入一点延迟。我想在网页上做同样的事情,但当我从演示站点调用脚本时,所有内容都会立即打印出来。以下是脚本:Html 如何制作Ruby';s sleep方法延迟在Rails网页上打印?,html,ruby-on-rails,ruby,Html,Ruby On Rails,Ruby,我有一个Ruby脚本,它在控制台上打印字符时会插入一点延迟。我想在网页上做同样的事情,但当我从演示站点调用脚本时,所有内容都会立即打印出来。以下是脚本: 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
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)
感谢您的帮助 RubyonRails呈现从服务器发送到浏览器的HTML。因此,您使用的睡眠方法只会延迟服务器完成页面呈现
如果您希望在浏览器中使用此功能,则必须使用javascript。RubyonRails呈现从服务器发送到浏览器的HTML。因此,您使用的睡眠方法只会延迟服务器完成页面呈现
如果您想在浏览器中使用此功能,则必须使用javascript。。或者为文本设置一个流媒体服务,但是对于OP的需求来说,这似乎有些过头了(不管怎样,JS接收文本可能仍然是最好的)@nathanvda绝对是r8。要执行它,您需要从js进行管理。或者要检查控制器动作,需要通过控制台的curl命令调用动作,伙计们,我试试JS。或者为文本设置一个流媒体服务,但是对于OP的需求来说,这似乎有些过头了(不管怎样,JS接收文本可能仍然是最好的)@nathanvda绝对是r8。要执行它,您需要从js进行管理。或者,为了检查控制器的动作,需要从控制台调用curl命令,伙计们,我试试JS。