私はScalaを初めて使いました。 私は以下の行動について困惑している:シングルレベルとネストされた理解のためのオプションの動作について混乱しました
val l = List(Option(1))
for (i <- l; x <- i) yield x //Example 1: gives me List(1)
for(x <- Option(1)) yield x //Example 2: gives me Some(1)
なぜ理解する第二ではなく、私に1
を与えるものではありませんか? 2番目の例は基本的にリストからオプションを抜き出して抜粋しているので、2番目の例は2番目の例とまったく同じように動作するように、最初の例の理解のための2番目の例はx <- i
のように見えます。と。
のように振る舞う理由です'戻り型は' Int'でなければならず、その型は何もしませんfは失敗事例を表す。 –