我刚刚开始玩Scala,刚刚学会了如何使方法成为正确的联想 (与面向对象语言中常见的更传统的左联结性相反)。 起初,当我看到示例代码在Scala中列表时,我注意到每个示例总是在右侧有List: println(1 :: List(2, 3, 4)) newList = 42 :: originalList 但是,即使看了一遍又一遍,我没有三思,因为我不知道(当时) ::是List上的一个方法。 我只是假设它是一个运算符(同样,在Java中是运算符),而关联性并不重要。 例子代码中总是出现在右侧的事实似乎是巧合的(我认为这可能只是“首选风格”)。 现在我知道得更好了:因为::是正确联想的,所以必须这样写。 我的问题是,能够定义右联合方法的要点是什么? 纯粹是出于美学的原因,还是在某些情况下,右结合实际上可以比左结合有什么好处呢? 从我(新手)的angular度来看,我真的不知道如何 1 :: myList 比任何事情都好 myList :: 1 但这显然是一个微不足道的例子,我怀疑这是一个公平的比较。