Я запускаю Scala 2.10.2. Я хочу создать список, а затем добавить некоторые элементы в список и ожидать увидеть все элементы в списках при вызове имени списка. Но я заметил что-то довольно странное (по крайней мере, странно для меня, так как я новичок). Ниже я попытался сделать это в sbt console
scala> val l = 1.0 :: 5.5 :: Nil
l: List[Double] = List(1.0, 5.5)
scala> l
res0: List[Double] = List(1.0, 5.5)
scala> l ::: List(2.2, 3.7)
res1: List[Double] = List(1.0, 5.5, 2.2, 3.7)
scala> List(l) :+ 2.2
res2: List[Any] = List(List(1.0, 5.5), 2.2)
scala> l
res3: List[Double] = List(1.0, 5.5)
scala>
Сначала я создал список l
с двумя элементами (1.0 и 5.5). Я называю l
и получаю то, что ожидаю; два элемента. Теперь я попытался добавить еще один элемент в список, используя :::
, который вернул новый список с новым списком добавленных мной элементов (2.2 и 3.7). Sweet! Я даже проверил код другого пользователя: Добавление элемента в конец списка в Scala для использования новой конструкции :+
. Поэтому на этом этапе я все счастлив, но я называю l
, и я получаю неожиданное: `res3: List [Double] = List (1.0, 5.5) '.
Где элементы, которые я добавил? И как я могу добавить эти элементы правильно, чтобы при вызове l
я получил новый список со всеми материалами, которые я добавил?