माणिक त्रिगुट ऑपरेटर हम एक सरल यदि किसी और निर्माण के लिए निम्नलिखित तर्क लिख सकते हैं के साथ:रूबी अगर .. els अगर .. एक और लाइन पर?
a = true ? 'a' : 'b' #=> "a"
लेकिन क्या होगा अगर मैं if foo 'a' elsif bar 'b' else 'c'
रूप में यह लिख करना चाहते थे?
मैं निम्नलिखित के रूप में यह लिख सकता है, लेकिन यह पालन करने के लिए थोड़ा मुश्किल है:
foo = true
a = foo ? 'a' : (bar ? 'b' : 'c') #=> "a"
foo = false
bar = true
a = foo ? 'a' : (bar ? 'b' : 'c') #=> "b"
वहाँ ऐसे परिदृश्य से निपटने के लिए किसी भी बेहतर विकल्प हैं या अगर हम अगर गाढ़ा करने के लिए इच्छा यह हमारी सबसे अधिक उपयुक्त रहेगी। .elsif..else तर्क एक पंक्ति में?
मुझे लगता है कि नेस्टेड टर्नरी समाधान में पठनीयता की कमी के साथ समस्या यह है कि यह सब एक पंक्ति पर डालने के लिए स्वाभाविक रूप से पढ़ना मुश्किल है, और आप जिन समाधानों के साथ आते हैं उनमें से कोई भी विश्लेषण करना आसान नहीं होगा। –
दूसरे शब्दों में, अधिक अनुभव के साथ आप सीखेंगे कि जितना संभव हो सके उतने छोटे स्थान में जितना संभव हो उतना कोड निचोड़ना कभी वैध लक्ष्य नहीं है। –
"जितना संभव हो उतना छोटा स्थान जितना संभव हो उतना कोड निचोड़ना कभी वैध लक्ष्य नहीं है।" मशीन कोड को छोड़कर। –