Pytania otagowane jako for-comprehension

5
Mylony z przekształceniem dla zrozumienia w płaską mapę / mapę
Naprawdę nie rozumiem Map i FlatMap. To, czego nie rozumiem, to jak interpretacja jest sekwencją zagnieżdżonych wywołań map i flatMap. Poniższy przykład pochodzi z programowania funkcjonalnego w Scali def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = for { f <- mkMatcher(pat) g <- mkMatcher(pat2) } yield f(s) && g(s) przetłumaczyć na def bothMatch(pat:String,pat2:String,s:String):Option[Boolean] = mkMatcher(pat) …


4
Niezgodność typów w Scali do zrozumienia
Dlaczego ta konstrukcja powoduje błąd niezgodności typu w Scali? for (first <- Some(1); second <- List(1,2,3)) yield (first,second) <console>:6: error: type mismatch; found : List[(Int, Int)] required: Option[?] for (first <- Some(1); second <- List(1,2,3)) yield (first,second) Jeśli przełączę Some with the List, kompiluje się dobrze: for (first <- List(1,2,3); …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.