我的解释_._1是:
_= 通配符参数
_1= 方法参数列表中的第一个参数 但是当与它一起使用时.,它意味着什么?
这是它的使用方式:
.toList.sortWith(_._1 < _._1)
对于这个声明:
_++_
我迷路了。是否以某种方式连接两个通配符参数?这是它的使用方式:
.reduce(_++_)
如果他们上面的代码可以变得更冗长并删除任何隐式,我会特别感兴趣,这样我才能更好地理解它?
我的解释_._1是:
_= 通配符参数
_1= 方法参数列表中的第一个参数 但是当与它一起使用时.,它意味着什么?
这是它的使用方式:
.toList.sortWith(_._1 < _._1)
对于这个声明:
_++_
我迷路了。是否以某种方式连接两个通配符参数?这是它的使用方式:
.reduce(_++_)
如果他们上面的代码可以变得更冗长并删除任何隐式,我会特别感兴趣,这样我才能更好地理解它?
_._1调用_1通配符参数上的方法_,获取元组的第一个元素。因此,sortWith(_._1 < _._1)按元组的第一个元素对元组列表进行排序。
_++_++使用第二个参数作为参数调用第一个通配符参数的方法。++对序列进行连接。因此.reduce(_++_)将序列列表连接在一起。通常你可以使用flatten它。
_1是一个方法名。具体来说,元组有一个名为 的方法_1,它返回元组的第一个元素。所以_._1 < _._1意味着“在两个参数上调用 _1 方法并检查第一个是否小于第二个”。
是的,_++_连接两个参数(假设第一个参数有一个++执行连接的方法)。
.reduce(_++_)
真的只是:
.reduce{ (acc, n) => acc ++ n }