क्या रूबी में कुछ शर्त सही होने तक सोने का कोई बेहतर तरीका है?नींद में सच्चाई सच होने तक नींद
loop do
sleep(1)
if ready_to_go
break
end
end
क्या रूबी में कुछ शर्त सही होने तक सोने का कोई बेहतर तरीका है?नींद में सच्चाई सच होने तक नींद
loop do
sleep(1)
if ready_to_go
break
end
end
until
एक बयान संशोधक हो सकता है, के लिए अग्रणी:
sleep(1) until ready_to_go
आप किसी अन्य धागा ready_to_go
बदलते अन्यथा आप लटका देंगे साथ उपयोग करने के लिए है कि एक सूत्र में होगा।
while (!ready_to_go)
sleep(1)
end
, फिर से के समान है लेकिन, आप ready_to_go
टॉगल करने के लिए कुछ करना होगा या आप लटका चाहते हैं।
आप इस्तेमाल कर सकते हैं:
until (ready_to_go)
sleep(1)
end
लेकिन मैं until
ऐसे ही सहजता से इस्तेमाल कभी नहीं किया गया है। असल में मैं लगभग इसका उपयोग कभी नहीं करता, समकक्ष (!ready_to_go)
पसंद करता हूं।
मैं गलती से "ready_to_go तक नींद" का उपयोग कर रहा था। धन्यवाद। – ccy
आपको बस उन स्थितियों के लिए देखना होगा जो कभी भी सही कथन में नहीं आ सकते हैं या आप ब्लैक-होल में समाप्त हो जाएंगे। मैंने उस सबक को सीखा जब मैं असेंबली भाषा और सी लिख रहा था, और मेरी मशीन को इतनी बुरी तरह बंद कर दिया था कि मुझे अपने नियंत्रण में लौटने के लिए पावर कॉर्ड खींचना पड़ा। बहुत बार। आह। :-) –
क्या आपका मतलब 'जब तक' या '' तक नहीं था? (वे दोनों नकारात्मक हैं, और वे दोनों "un" से शुरू होते हैं) –
आप पर वर्णित waitutil
मणि का उपयोग कर सकते हैं, उदा।
require 'waitutil'
WaitUtil.wait_for_condition("my_event to happen",
:timeout_sec => 30,
:delay_sec => 0.5) do
check_if_my_event_happened
end
def sleep_until(time)
time.times do
break if block_given? && yield
sleep(1)
end
end
उपयोग:
sleep_until(18){till_i_die}
आमतौर पर, कि आम तरीका है यह करने के लिए है। या आप क्रॉन इत्यादि जैसे कार्य शेड्यूलर का उपयोग कर सकते हैं – kurumi
इस दृष्टिकोण के साथ क्या गलत है? क्या आप इसके बारे में चिंतित हैं कि लगातार पूछ रहे हैं "क्या हम अभी तक हैं?", या आप वर्बोज होने के बारे में चिंतित हैं? –