現在仕事ではScalaを触ってます。 期間は1か月満たないくらいです。
今後のために、エラー内容に対する対処方法などをまとめていこうと思います。
今回のエラーはこちら
value += is not a member of Int
google翻訳すると「値+ =はIntのメンバーではありません」
これだと正直すぐ分かりませんね。
ちなみにscalaではインクリメント演算子がないため、数値を増分させたいなどの場合+=というメソッドを使用します。
んで、エラー内容の対処方法を結論から言うと、 増分させようとしている変数がvalで定義されているからvarにしてねということです。
確かにval定義されたフィールドは不変なので値の再代入はできないですし。
なぜこのようなエラーに直面したのかというと
メソッドで受け取った引数の値を増分させたかったからです。
コードは例ですが以下のような感じです。
object sample { def main(args: Array[String]): Unit = { val num = sample(0) } private def sample(target: Int): Int = { target += 1 } }
つまり、受け取った引数の変数はvalで定義されているということになります。
なのでScalaでは受け取った引数の値は変更できないことに注意してください。
ここら辺の内容って以下の参考書にでも載っているのかな?
今度ゆっくり調べようと思います。
以上