您可以使用以下方法在 Scala 中创建新列表:
1 :: 2 :: Nil
据我了解,这可以重写为:
Nil.::(2.::(1))
主要是因为 :: fixty 但如果我写:
Nil :: 1 :: 2
我得到“值 :: 不是 Int 的成员”这是完全可以预期的,因为在 scaladoc Int 中没有 ::,但如果我将其翻译为:
1.::(2.::(Nil))
它作为输出工作:
List(1.0, 2.0)
看起来 scalac 自动将1
and转换为与2
Int 不同的类型。那是对的吗?如果是,为什么会发生这种奇怪的类型?