एक सरल विकल्प के साथ पाश के लिए एक का उपयोग करते हुए काम करता है: जब तक विकल्प स्पष्ट रूप से एक सूची में बदल जाती हैविकल्प को loops के लिए अंदर स्पष्ट करने की आवश्यकता क्यों है?
scala> for (lst <- Some(List(1,2,3)); x <- lst) yield x
<console>:8: error: type mismatch;
found : List[Int]
required: Option[?]
for (lst <- Some(List(1,2,3)); x <- lst) yield x
^
...:
scala> for (lst <- Some(List(1,2,3))) yield lst
res68: Option[List[Int]] = Some(List(1, 2, 3))
लेकिन विकल्प की सामग्री पर पाशन नहीं करता है:
scala> for (lst <- Some(List(1,2,3)).toList; x <- lst) yield x
res66: List[Int] = List(1, 2, 3)
स्पष्ट सूची रूपांतरण की आवश्यकता क्यों है? क्या यह मूर्खतापूर्ण समाधान है?
यही वजह है कि '(lst <के लिए है - कुछ (सूची (1,2,3)) मिलता है, x <- विकल्प (lst)) उपज x' भी काम करता है। दिलचस्प। – sberry