在我一直在使用的Scala教程中,我一直看到以这种方式构造的列表:
(1 :: (2 :: Nil))
Run Code Online (Sandbox Code Playgroud)
这个和非括号版本之间有区别吗?
1 :: 2 :: Nil
Run Code Online (Sandbox Code Playgroud)
他们是一样的.可以添加括号来说明操作顺序,但它们不会改变任何内容.事实上,它们毫无意义,因为没有其他操作顺序是可能的.在两种情况下,中缀(即无点)符号都是脱糖的,如下所示.
Nil.::(2).::(1)
Run Code Online (Sandbox Code Playgroud)
"怎么样,"你说?请记住,以冒号结尾的方法名称,在使用中缀表示法时:反转class.method(argument)顺序.