Comment pouvez-vous dire à un programme Ruby d'attendre un laps de temps arbitraire avant de passer à la ligne de code suivante?
Comme ça:
sleep(num_secs)
La valeur num_secs
peut être un entier ou un flottant.
De même, si vous écrivez cela dans une application Rails, ou si vous avez inclus la bibliothèque ActiveSupport dans votre projet, vous pouvez construire des intervalles plus longs à l'aide de la syntaxe de commodité suivante:
sleep(4.minutes)
# or, even longer...
sleep(2.hours); sleep(3.days) # etc., etc.
# or shorter
sleep(0.5) # half a second
Utilisez sleep comme suit:
sleep 2
Ça va dormir pendant 2 secondes.
Veillez à donner un argument. Si vous exécutez simplement sleep
, le processus dormira pour toujours. (Ceci est utile lorsque vous voulez qu'un thread s'endorme jusqu'à ce qu'il soit réveillé.)
sleep 6
dormira pendant 6 secondes. Pour une durée plus longue, vous pouvez également utiliser sleep(6.minutes)
ou sleep(6.hours)
.
Je trouve until
très utile pour dormir. exemple:
> time = Time.now
> sleep 2.seconds until Time.now > time + 10.seconds # breaks when true