honesome
@honesome (honesome)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Kotlinのfold関数の構文について

Q&A

Closed

質問したいこと

KotlinのCollectionのfold関数の構文について分からないことがあったので質問させてください。

よくWeb上で見るfoldの使用例としては

val values = listOf(1,2,3,4,5)
val sum1 = values.fold(0) {a, b -> a + b}

というように初期値を()で囲んで、その次にラムダを()の外に書いている
場合が多いように見受けられるのですが、

val sum2 = values.fold(0, {a, b -> a + b}) 

上記のように初期値とラムダを()に入れない理由は何かあるのでしょうか?
また(初期値){ラムダ}とすることで何かメリットがあれば教えていただきたく思います。

単純に見易さとかが理由なんでしょうか。。。

よろしくお願いいたします。

0

1Answer

見やすさと好みの問題です。特に引数にラムダだけ取るメソッドはカッコなしで書けるのですっきりします:

values.forEach {
  println(it)
}

それ以外はどちらの書き方でも違いはありません。

0Like

Comments

  1. @honesome

    Questioner

    やはり見やすさが理由でしたか。
    ご回答ありがとうございます。

Your answer might help someone💌