为什么scala集合没有任何人类可读的方法,如.append,.push等

F0R*_*0RR 5 scala scala-collections

Scala集合有一堆可读,几乎可读的运营商如中:++:,但为什么没有任何人类可读的同义词样append

Mau*_*res 9

Scala中的所有可变集合都具有BufferLike特性,它定义了一个append方法.

不可变集合没有 BufferLike特性,因此只定义其他方法,这些方法不会更改集合,而是生成新集合.

  • Java中的语义附加用于各种不同的缓冲类,如StringBuffer和StringBuilder,当你使用append时,你希望它添加到当前对象,而不是创建一个新对象.通过定义一个创建一个新对象的append方法,你可以打破这个期望,这根本不是很好. (4认同)