使用uu占位符参数排序scala不起作用

使用uu占位符参数排序scala不起作用,scala,Scala,在Scala中,List(3,2,1,5,2,4)。sortBy(x=>x)起作用 但是,如果用List(3,2,1,5,2,4)替换,那么(389;)就不起作用了 我知道uu是占位符参数。为什么在这种情况下不起作用 谢谢,sortBy()将函数作为参数x=>x是一个函数,但在这种情况下,它只是将sortBy从方法转换为函数 在一般情况下,如果您不喜欢编写x=>x,可以使用identity功能(例如,您可以编写.sortBy(identity)) 但是,在sortBy()的情况下,只编写列表(3

在Scala中,List(3,2,1,5,2,4)。sortBy(x=>x)起作用

但是,如果用List(3,2,1,5,2,4)替换,那么(389;)就不起作用了

我知道uu是占位符参数。为什么在这种情况下不起作用

谢谢,

sortBy()将函数作为参数
x=>x
是一个函数,但在这种情况下,它只是将sortBy从方法转换为函数

在一般情况下,如果您不喜欢编写
x=>x
,可以使用
identity
功能(例如,您可以编写
.sortBy(identity)


但是,在sortBy()的情况下,只编写
列表(3,2,1,5,2,4)会更好。排序
以实现相同的效果。

单个下划线本身不会被解释为占位符。在这种情况下,它将被解释为将
sortBy
从方法转换为函数。如果您想选择
x=>x
,请使用
identity
:它可能不短,但可读性更强。正如C4stor指出的,
List(3,2,1,5,2,4).sorted
在这种情况下也起作用

我编辑过,当你看到有什么不对劲的时候,请随意做:-)