स्काला: के लिए समझ के साथ विकल्प

0

सवाल

मैं एक विकल्प के एक Seq के कुछ आइटम:

Option[Seq[MyItem]]

MyItem एक क्षेत्र 'विवरण'

मैं खोजने के लिए की जरूरत है कि क्या आइटम में से एक का एक विशिष्ट विवरण.

यह कैसे किया जा सकता का उपयोग करने के लिए समझ?

scala
2021-11-23 12:01:45
1

सबसे अच्छा जवाब

2

यदि आप परीक्षण करना चाहते हैं कि किसी भी तत्व के Option[Seq[MyItem]] एक विशिष्ट विवरण तो आप ऐसा कर सकते हैं.

opt.exists(_.exists(_.description == ???))

अगर तुम सच में की जरूरत है कि एक समाधान का उपयोग करता है for तो मैं मदद नहीं कर सकते हैं आप :)

2021-11-23 12:20:57

वास्तव में मैं यह कर रहा हूँ वर्तमान में है । लेकिन मुझे डर पठनीयता नहीं है कि अच्छा है, इसलिए मैं के लिए देख रहा था के लिए comprehensions. लेकिन लगता है के लिए comprehensions काम नहीं करते जब पहली बार जनरेटर के लिए विकल्प है के साथ सौदा.
Mandroid

पठनीयता दर्शकों पर निर्भर करता है, लेकिन के लिए एक सक्षम स्काला प्रोग्रामर exists संस्करण बहुत स्पष्ट है । for के लिए उपयुक्त है प्रसंस्करण के एक संग्रह में एक और है, लेकिन इस काम के उत्पादन के लिए एक एकल मूल्य से एक संग्रह है । के लिए कि आप की जरूरत है एक fold या collect आपरेशन, लेकिन है कि नहीं जा रहा है होना करने के लिए किसी भी स्पष्ट की तुलना में exists.
Tim

एक एकल के लिए-बूझ पर Option[Seq[MyItem]] काम नहीं करेगा. हालांकि यह इस पर काम करेंगे Seq[Option[MyItem]]. बस का उपयोग करें मौजूद है\गुना\इकट्ठा के रूप में उल्लेख किया है से @टिम
gatear

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में