Scalaで既存のListの末尾に値を追加する

Scalaで既存のListの末尾に値を追加するのにハマった。
一応解決したけど、それが正しいやりかたかもわからん。

リストを宣言して、
scala> var list = List(1, 2, 3)
list: List[Int] = List(1, 2, 3)

::で末尾に追加しようとして怒られる。
scala> list = list :: 4
<console>:8: error: value :: is not a member of Int
list = list :: 4

::でリストの先頭に追加するのは問題なく通る。
scala> list = 4 :: list
list: List[Int] = List(4, 1, 2, 3)

新しいリストを作って:::でつなげると、一応リストの末尾に追加できた。
scala> list = list ::: List(5)
list: List[Int] = List(4, 1, 2, 3, 5)

うーん、めんどい。
そういえば、昔Lispで同じような経験をしたような…
まぁ動くし、これでいっか。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です