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)