gpt4 book ai didi

scala - 在不命名中间值的情况下对值进行链式操作

转载 作者:行者123 更新时间:2023-12-04 17:42:56 24 4
gpt4 key购买 nike

有时我会执行一系列计算来逐渐转换某些值,例如:

def complexComputation(input: String): String = {
val first = input.reverse
val second = first + first
val third = second * 3
third
}

命名变量有时很麻烦,我想避免它。我为此使用的一种模式是使用 Option.map 链接值:
def complexComputation(input: String): String = {
Option(input)
.map(_.reverse)
.map(s => s + s)
.map(_ * 3)
.get
}

使用 Option/ get然而我觉得不太自然。有没有其他方法可以做到这一点?

最佳答案

实际上,可以使用 Scala 2.13 .将介绍pipe :

import scala.util.chaining._

input //"str"
.pipe(s => s.reverse) //"rts"
.pipe(s => s + s) //"rtsrts"
.pipe(s => s * 3) //"rtsrtsrtsrtsrtsrts"

版本 2.13.0-M1已经发布。如果您不想使用里程碑版本,可以考虑使用 backport ?

关于scala - 在不命名中间值的情况下对值进行链式操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55020960/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com