जवाबों:
ऐशे ही:
sleep(num_secs)
num_secs
मान एक पूर्णांक या नाव हो सकता है।
इसके अलावा, अगर आप इसे रेल एप्लिकेशन के भीतर लिख रहे हैं, या अपनी परियोजना में ActiveSupport लाइब्रेरी को शामिल किया है, तो आप निम्नलिखित सुविधा सिंटैक्स का उपयोग करके लंबे अंतराल का निर्माण कर सकते हैं:
sleep(4.minutes)
# or, even longer...
sleep(2.hours); sleep(3.days) # etc., etc.
# or shorter
sleep(0.5) # half a second
नींद का उपयोग करें :
sleep 2
वह 2 सेकंड के लिए सो जाएगा।
तर्क देने के लिए सावधान रहें। यदि आप बस चलाते हैं sleep
, तो प्रक्रिया हमेशा के लिए सो जाएगी। (यह तब उपयोगी होता है जब आप एक धागा सोना चाहते हैं जब तक कि यह जाग न जाए।)
मुझे until
नींद के साथ बहुत उपयोगी लगता है । उदाहरण:
> time = Time.now
> sleep 2.seconds until Time.now > time + 10.seconds # breaks when true
sleep(10.seconds)
until
कि किसी भी स्थिति को प्राप्त करने तक नींद कैसे आ सकती है (सिंटैक्स भी कितना स्वाभाविक लगता है) से प्यार करें
sleep 6
6 सेकंड के लिए सो जाएगा। लंबी अवधि के लिए, आप भी उपयोग sleep(6.minutes)
या कर सकते हैं sleep(6.hours)
।
minutes()
और hours()
रूबी द्वारा रेल पर जोड़े गए न्यूमेरिक्स के तरीके हैं - इसलिए रूबी में उपलब्ध मानक नहीं - ActiveSupport :: Duration क्लास में। वे हालांकि काफी सुविधाजनक हैं।
सेकंड / मिनट / घंटे का कार्यान्वयन, जो रेल के तरीके हैं। ध्यान दें कि निहित रिटर्न की आवश्यकता नहीं है, लेकिन वे क्लीनर दिखते हैं, इसलिए मैं उन्हें पसंद करता हूं। मुझे यकीन नहीं है कि रेल के पास दिन भी होते हैं या अगर यह आगे बढ़ता है, लेकिन ये वही हैं जिनकी मुझे ज़रूरत है।
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
इसके बाद, आप कर सकते हैं:
sleep 5.seconds
5 सेकंड के लिए सोने के लिए। आप sleep 5.minutes
5 मिनट के लिए सोने के लिए कर सकते हैं । आप sleep 5.hours
5 घंटे सोने के लिए कर सकते हैं । और अंत में, आप sleep 5.days
5 दिनों के लिए सो सकते हैं ... आप किसी भी विधि को जोड़ सकते हैं जो स्वयं का मान लौटाता है * (उस समय सीमा में सेकंड की राशि)। एक अभ्यास के रूप में, इसे महीनों तक लागू करने का प्रयास करें!