以下のコードは型の不一致のためにコンパイルされません。これは型パラメータを明示的に与えることで解決できますが、Nil
にはできませんでした。どのようにそれを把握していない。 は(foldRight
方法についていくつかの情報がありますが、私はここに/:
を使用したい)初期値の設定方法/ :(foldRightではない)
val li = List.range(1, 10)
(Nil /: li)((a, b) => b :: a) // doesn't compile
(List(0): li)((a, b) => b :: a) // compiles
<pastie>:14: error: type mismatch;
found : List[Int]
required: scala.collection.immutable.Nil.type
(Nil /: li)((a, b) => b :: a)
^
誰もがこの問題を解決する方法を教えてもらえますか?
'/:'は 'foldLeft'ではなく' foldLeft'と同じです。 – jwvh
Ops。私はいつもこれらの2つに混乱します。ありがとう。 – hirofujitaaki