Scala 为什么列表串联会有不同的行为?

Scala 为什么列表串联会有不同的行为?,scala,Scala,a:::b和a:::(b)之间有什么区别 Scala中以a结尾的所有函数:都是右关联的,因此表达式a::b的计算结果为b:::(a)Scala中以a结尾的所有函数:都是右关联的,因此,使用时表达式a::b的计算结果为b::::(a),以结尾的方法(或运算符):是右关联的-换句话说,该方法在其右侧的对象上调用,其左侧的对象作为参数传递 所以1::Nil与Nil:::(1)相同。正如a:::b与b:::(a)一样,当您使用时,以:结尾的方法(或运算符)是右关联的-换句话说,该方法在其右侧的对象上调用

a:::b
a:::(b)
之间有什么区别


Scala中以a结尾的所有函数:都是右关联的,因此表达式
a::b
的计算结果为
b:::(a)

Scala中以a结尾的所有函数:都是右关联的,因此,使用时表达式
a::b
的计算结果为
b::::(a)
,以
结尾的方法(或运算符):
是右关联的-换句话说,该方法在其右侧的对象上调用,其左侧的对象作为参数传递

所以
1::Nil
Nil:::(1)
相同。正如
a:::b
b:::(a)

一样,当您使用时,以
结尾的方法(或运算符)是右关联的-换句话说,该方法在其右侧的对象上调用,其左侧的对象作为参数传递

所以
1::Nil
Nil:::(1)
相同。正如
a:::b
b:::(a)

一样,因为当您键入

a ::: b
最后一个“:”使函数右关联。 因此,您在
b
上调用
,而不是
a

b.:::(a)
因为当你打字的时候

a ::: b
最后一个“:”使函数右关联。 因此,您在
b
上调用
,而不是
a

b.:::(a)