457

次のコード行に進む前に、Ruby プログラムに任意の時間待機するように指示するにはどうすればよいでしょうか?

4

7 に答える 7

745

このような:

sleep(num_secs)

値はnum_secs整数または浮動小数です。

また、Rails アプリ内でこれを記述している場合、またはプロジェクトに ActiveSupport ライブラリを含めている場合は、次の便利な構文を使用してより長い間隔を構築できます。

sleep(4.minutes)
# or, even longer...
sleep(2.hours); sleep(3.days) # etc., etc.
# or shorter
sleep(0.5) # half a second
于 2009-08-25T18:12:29.210 に答える
135

次のようにスリープを使用します。

sleep 2

2 秒間スリープします。

反論は慎重に。を実行しただけでsleepは、プロセスは永久にスリープ状態になります。(これは、起動されるまでスレッドをスリープさせたい場合に便利です。)

于 2009-08-25T18:11:10.057 に答える
-1

sleepこれはwithの使用例ですsidekiq

require 'sidekiq'

class PlainOldRuby
  include Sidekiq::Worker

  def perform(how_hard="super hard", how_long=10)
    sleep how_long
    puts "Workin' #{how_hard}"
  end
end

10 秒間スリープしてから印刷し"Working super hard"ます。

于 2021-02-23T02:50:15.593 に答える