我注意到List类定义了方法
然而,我对Scala编译器如何识别这种转换感到困惑。因为据我所知,
::
,该方法在列表的开头添加一个元素。def ::(x: A): List[A]
例子:
1 :: List(2, 3) = List(2, 3).::(1) = List(1, 2, 3)
然而,我对Scala编译器如何识别这种转换感到困惑。因为据我所知,
1 :: List(2,3)
应该会抛出一个错误::: 不是Int的成员
我是否对Scala的运算符定义有所遗漏?