2012-11-06 6 views
6

में "जब तक" कीवर्ड नहीं समझा जा सकता है मैं मूल अंग्रेजी स्पीकर नहीं हूं। मुझे पता है कि यह बेवकूफ लगता है। मैं पायथन & सी में लिखता हूं लेकिन मुझे समझ में नहीं आता कि unless काम करता है।रूबी

क्या यह एक तार्किक दृष्टिकोण से इसके बारे में सोचने के लिए स्वस्थ है? उदाहरण के लिए, if कीवर्ड पर विचार करें: if condition। यदि condition सत्य है, तो कोड चलाता है। unless के लिए तार्किक स्पष्टीकरण क्या है?

क्या इसके बारे में सोचने का कोई और तरीका है?

उत्तर

6

रूबी जब तक संशोधक:

सिंटेक्स: कोड जब तक सशर्त

कोड निष्पादित करता है, तो सशर्त गलत है।

उदाहरण:

$var = 1 
print "1 -- Value is set\n" if $var 
print "2 -- Value is set\n" unless $var 

$var = false 
print "3 -- Value is set\n" unless $var 

यह निम्न उत्पादन होगा परिणाम:

1 - मूल्य सेट कर दिया जाता

3 - मूल्य

8

सबसे आसान तरीका है सेट कर दिया जाता है: unlessif के विपरीत है। यह वही स्थानों (मुझे लगता है कि) if के रूप में काम करता है:

foo = nil 
puts "This will not show" if foo 
puts "But this will" unless foo 

if foo then 
    puts "This will not show" 
end 
unless foo 
    puts "But this will" 
end 

यह कोड में अच्छे लग रहा है अगर आप unless foo बजाय if !foo बारे में - लेकिन यह है कि केवल मेरी राय है। लंबे प्रारूप में, आप else का भी उपयोग कर सकते हैं, लेकिन कृपया पर न करें।

यहां एक set of rules to follow to make the code more readable है।

-1

यहाँ एक और एक संकेत है कि मुझे माणिक में unless साथ खुश करता है के बराबर है:

पहले, स्थितियों में, जहां मैं हालत झूठी होने की उम्मीद है, और कोड सामान्य रूप से चलेंगे में , मैं unless का उपयोग करें:

unless name.empty? 
    puts "Hello #{name}" 
end 

दूसरा, जब भी मैं शर्त सच होने की उम्मीद है, और कोड सामान्य रूप से नहीं चलेगा, मैं का उपयोग if not:

if not name == 'Awesome_Coder' 
    message.puts "Unauthorized!" 
end 
1

भूख = true "रूबी कार्यक्रमों मैं लिख रहा हूँ!"

जब तक भूखा

डालता है

बाकी

कहते हैं "खाने के लिए समय!"

अंत

यह

को समझने के लिए आसान तरीका है