Yanıtlar:
Bunun gibi:
sleep(num_secs)
num_secsDeğ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.)
untilUykuda çok faydalı buluyorum . misal:
> time = Time.now
> sleep 2.seconds until Time.now > time + 10.seconds # breaks when true
sleep(10.seconds)
untilHerhangi 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 66 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.seconds5 saniye uyumak. sleep 5.minutes5 dakika uyumak için yapabilirsiniz . Sen yapabilirsin sleep 5.hours5 saat boyunca uyumaya. Ve son olarak, sleep 5.days5 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!