2015-09-17 6 views

उत्तर

10

सामान्य T के लिए, आप बच सकते हैं map साथ अगर - v.map(_.toString).getOrElse("")

+0

@ जोर्डनपार्मर ओपी ने उल्लेख नहीं किया कि टी == स्ट्रिंग –

+0

अच्छा बिंदु - बस उसे एहसास हुआ। धन्यवाद। –

3

Option एक इकाई है। एफपी में, मोनैड के साथ काम करते समय, आप परिभाषित करते हैं कि आप क्या करना चाहते हैं यदि मोनैड में एक राज्य होता है (यानी None के अलावा कोई मान)। अन्यथा, आप आगे बढ़ते हैं।

val ostring: Option[String] = functionThatGetsOptionString() 

ostring.map { s => 
    functionThatUsesString(s) 
} 

map समारोह के भीतर, s कच्चे स्ट्रिंग में शामिल होंगे, तो OptionSome(String) अन्यथा यह भीतरी शरीर पर अमल नहीं होगा अगर OptionNone है।

3
scala> Some(1).fold("")(_.toString) 
res0: String = 1 

scala> None.fold("")(_.toString) 
res1: String = "" 
संबंधित मुद्दे