Вопрос по sleep, ruby – Скажите Ruby Program подождать некоторое время

356

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

Ваш Ответ

3   ответа
1

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

Я проголосовал именно за это. Это'не стандартный рубин. hayesk
Не уверен насчет отрицательных голосов по этому вопросу, но это может бытьminutes() а такжеhours() методы для чисел, добавленные Ruby on Rails - поэтому они не являются стандартными в Ruby - в классе ActiveSupport :: Duration. Oни'довольно удобно, хотя. Jochem Schulenklopper
Я думаю, что основной причиной отрицательных голосов является то, что @vijaya_chowdary в основном разместил правильный голос 8 лет спустя. Я бы посчитал это странным, по крайней мере ... StahlRat
579

Как это:

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
109

использованиеспать вот так:

sleep 2

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

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

@anthropomorphic Это 's, когда другой поток вызывает Thread # run. Joshua Pinter
На самом деле, когда другой поток вызывает Thread # wakeup, я полагаю. chesterbr
Подождите, это будет спать вечно, или пока это не "разбужены»? Что значит "разбужены» даже значит? Michael Dorst

Похожие вопросы