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で同じような経験をしたような…
まぁ動くし、これでいっか。