Скажите Ruby Program подождать некоторое время - PullRequest
372 голосов
/ 25 августа 2009

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

Ответы [ 4 ]

597 голосов
/ 25 августа 2009

Как это:

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
110 голосов
/ 25 августа 2009

Использовать спать вот так:

sleep 2

Это будет спать 2 секунды.

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

2 голосов
/ 29 июля 2017

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

0 голосов
/ 04 июня 2019

Я считаю until очень полезным со сном. Пример:

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