私は混乱しています。 TraversableLike
では、機能flatMap
は署名オプションはGenTraversableOnceですか?
flatMap[B](f: (A) ⇒ GenTraversableOnce[B]): Iterable[B]
であり、それが可能である理由しかし、私はこのように
scala> Iterable(1,2,3,4,5).flatMap{i=>if (i%2==0) {None} else {Some(i)}}
res1: Iterable[Int] = List(1, 3, 5)
をそれを使用することができますか? Option
はどのようにしてGenTraversableOnce
に変換されますか?それはサブクラスのようには見えません...
"REPLで暗黙にテストするのは非常に簡単です[関数[Some [Int]、GenTraversableOnce [Int]]]' -__-単純明示的、はい、大括弧で囲まれています「シンプルな」イホを呼んでいる。 –
グレート答え、感謝ダン –
:スカラ>輸入scala.collection.GenTraversableOnce 輸入scala.collection.GenTraversableOnce スカラ>型OptionToTraversableConversion [X] =関数[オプション[X]、GenTraversableOnce [X]] 定義型の別名OptionToTraversableConversion スカラ>暗黙的に[OptionToTraversableConversion [INT]] RES3:オプション[INT] => scala.collection.GenTraversableOnce [INT] = –
Edmondo1984