Вы можете создать новый список в Scala, используя:Почему функция cons вызвана экспликацией в Int в Scala?
1 :: 2 :: Nil
В моем понимании это может переписать:
Nil.::(2.::(1))
В основном потому, что :: fixty, но если я пишу:
Nil :: 1 :: 2
Я получаю «значение :: не является членом Int», что полностью ожидаемо, потому что в scaladoc Int нет ::, но я не могу понять, почему, если я переведу его так:
1.::(2.::(Nil))
Он работает, как получение продукции:
List(1.0, 2.0)
Похоже scalac авто бросает 1
и 2
к типу, отличной от Int. Это верно? Если да, то почему это происходит, и какой это странный тип?
Значит, это ошибка scala 2.9.2? Или так оно и должно работать? – rsan
Это не ошибка. Это совершенно правильное выражение. Это просто немного забавно, когда вы оставляете места. – dhg
Почему «1. :: (2. :: (Nil))» анализируется на «1.0 :: 2.0 :: Nil»? Я, однако, что операторы, оканчивающиеся на: имеют обратную фиксацию. – rsan