Скажите программе Ruby, чтобы подождать некоторое время

Как вы скажете программе Ruby подождать какое-то время, прежде чем перейти к следующей строке кода?

Ответ 1

Как это:

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

Ответ 2

Используйте sleep так:

sleep 2

Это будет спать в течение 2 секунд.

Будьте осторожны, чтобы дать аргумент. Если вы просто запустите sleep, процесс будет спать вечно. (Это полезно, когда вы хотите, чтобы поток спал, пока он не проснулся.)

Ответ 3

sleep 6 будет спать в течение 6 секунд. В течение более длительного времени вы также можете использовать sleep(6.minutes) или sleep(6.hours).

Ответ 4

Я нахожу until очень полезным со сном. пример:

> time = Time.now
> sleep 2.seconds until Time.now > time + 10.seconds # breaks when true