使用uu占位符参数排序scala不起作用
在Scala中,List(3,2,1,5,2,4)。sortBy(x=>x)起作用 但是,如果用List(3,2,1,5,2,4)替换,那么(389;)就不起作用了 我知道uu是占位符参数。为什么在这种情况下不起作用 谢谢,sortBy()将函数作为参数使用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
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
在这种情况下也起作用 我编辑过,当你看到有什么不对劲的时候,请随意做:-)