मेरे स्कैला कार्यक्रम में, मुझे कुछ JSON प्राप्त हो रहा है।विकल्प का इलाज करने का बेवकूफ तरीका [बूलियन]
फ़ील्ड में से एक वैकल्पिक बूलियन है। यदि फ़ील्ड गुम है, या यदि इसका मान गलत है, तो मैं None
वापस करना चाहता हूं। यदि इसका मान सही है, तो मैं Some(true)
वापस करना चाहता हूं।
के बाद से इस None
में Some(false)
परिवर्तित करने के बराबर है, मैं निम्नलिखित समारोह को परिभाषित किया है:
def boolmap(ob: Option[Boolean]) = if(ob == Some(false)) None else ob
यह काम करता है, लेकिन यह बहुत मुहावरेदार होने के लिए प्रतीत नहीं होता। क्या कुछ और सुरुचिपूर्ण है?
चूंकि आप एक दोहरी स्थिति में एक त्रिज्या की स्थिति को कम कर रहे हैं, आईएमओ मुहावरे एक सादे बूलियन ('getOrElse (झूठी)') का उत्पादन करना होगा और 'विकल्प' –
@ 0__ ड्रॉप करना होगा कुछ चीज के लिए विकल्प कुछ आसान है। बाद में करना है। – Eduardo
अंतर्निहित बूलियन मान प्राप्त करने के लिए आप 'ob.isDefined' का उपयोग नहीं कर सकते? –