Yanıtlar:
Bunun gibi:
sleep(num_secs)
num_secs
Değeri bir tam sayı ya da şamandıra olabilir.
Ayrıca, bunu bir Rails uygulamasına yazıyorsanız veya projenize ActiveSupport kitaplığını eklediyseniz, aşağıdaki kolaylık sözdizimini kullanarak daha uzun aralıklar oluşturabilirsiniz:
sleep(4.minutes)
# or, even longer...
sleep(2.hours); sleep(3.days) # etc., etc.
# or shorter
sleep(0.5) # half a second
Kullanım uyku gibi pek:
sleep 2
2 saniye uyuyacak.
Tartışmaya dikkat edin. Sadece koşarsan sleep
, süreç sonsuza kadar uyuyacak. (Bu, bir iş parçacığının uyanana kadar uyumasını istediğinizde yararlıdır.)
until
Uykuda çok faydalı buluyorum . misal:
> time = Time.now
> sleep 2.seconds until Time.now > time + 10.seconds # breaks when true
sleep(10.seconds)
until
Herhangi bir koşul elde edilene kadar nasıl uyumak için kullanılabileceğini vurgulamak istedim (sözdiziminin ne kadar doğal hissettiğini de seviyorum)
sleep 6
6 saniye uyuyacaktır. Daha uzun bir süre için sleep(6.minutes)
veya tuşunu da kullanabilirsiniz sleep(6.hours)
.
minutes()
ve hours()
Ruby mevcut böylece standart değil - - ActiveSupport :: Süre sınıfında Ruby on tarafından eklenen numerics üzerinde yöntemlerdir. Yine de oldukça uygun.
Ray yöntemi olan saniye / dakika / saat uygulaması. Örtük getirilere gerek olmadığını unutmayın, ancak daha temiz görünüyorlar, bu yüzden onları tercih ederim. Rails bile .days var ya da daha ileri giderse emin değilim, ama bunlar ihtiyacım olanlar.
class Integer
def seconds
return self
end
def minutes
return self * 60
end
def hours
return self * 3600
end
def days
return self * 86400
end
end
Bundan sonra şunları yapabilirsiniz:
sleep 5.seconds
5 saniye uyumak. sleep 5.minutes
5 dakika uyumak için yapabilirsiniz . Sen yapabilirsin sleep 5.hours
5 saat boyunca uyumaya. Ve son olarak, sleep 5.days
5 gün boyunca uyuyabilirsiniz ... Benlik * değerini (herhangi bir zaman diliminde saniye cinsinden) döndüren herhangi bir yöntem ekleyebilirsiniz. Bir egzersiz olarak, aylarca uygulamayı deneyin!