Html 如何制作Ruby';s sleep方法延迟在Rails网页上打印?

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

我有一个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
    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。