私は一番長い行の長さを行の集合で見つけようとしています。reduceLeftが型の不一致について不平を言っているのはなぜですか?
val lines = Source.fromFile(args(0)).getLines() //a collection of strings
val longestLine = lines.reduceLeft((a,b) =>
if(a.length > b.length) a.length else b.length)
しかし、これは次のエラー発生します
/home/jesvin/dev/scala/readfile.scala:11: error: type mismatch;
found : Int
required: String
if(a.length > b.length) a.length else b.length)
^
/home/jesvin/dev/scala/readfile.scala:11: error: type mismatch;
found : Int
required: String
if(a.length > b.length) a.length else b.length)
^
two errors found
を私は特定の場所でいくつかの明示的なreturn文と型キャストを試してみましたが、それはうまくいきませんでした。
私はreduceLeft
を使用していますか?
私は第3章の最後に私の学習のギャップを見つけるためにオリジナルを見ずにプログラムを書いていました。このケースでは、縮小と折り畳みの操作について十分に知りませんでした。 – aitchnyu