4
理解のためにScalaでミスマッチを入力する
この構造がScalaで型の不一致エラーを引き起こすのはなぜですか? 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) 一部をリストに切り替えると、正常にコンパイルされます。 for (first <- List(1,2,3); second <- Some(1)) yield (first,second) res41: List[(Int, Int)] = List((1,1), (2,1), (3,1)) これも正常に機能します。 for (first <- …