Scala中如何对List对象执行操作并简化为单行代码?
如何在Scala中对List对象直接执行操作并简化为单行代码
你可以通过以下几种方式将代码简化为单行,避免无意义的中间变量:
方法1:使用pipe方法(Scala 2.13+)
Scala 2.13及以上版本提供了pipe方法,它能将调用对象作为参数传递给后续的匿名函数,完美适配你的需求:
val b = List(1,2,3).pipe(l => l :+ l.last)
方法2:匿名函数自调用(兼容旧版本Scala)
如果你的项目使用Scala 2.12或更早版本,可以用匿名函数直接自执行的方式:
val b = ((l: List[Int]) => l :+ l.last)(List(1,2,3))
这两种写法都直接对List(1,2,3)对象执行操作,不需要额外定义中间变量a,最终效果和原代码完全一致,都会得到List(1,2,3,3)。
内容的提问来源于stack exchange,提问作者heathcliff-pang
相关产品推荐
相关产品推荐

