gpt4 book ai didi

scala - 将一系列函数应用于 value 并获得最终结果

转载 作者:行者123 更新时间:2023-12-01 10:37:21 25 4
gpt4 key购买 nike

我希望将一系列函数应用于一个对象(每个函数可能返回相同或修改过的对象)并获得最后一个函数返回的最终结果。

有没有一种惯用的 Scala 方法来转换这个(伪代码):

val pipeline = ListMap(("a" -> obj1), ("b" -> obj2), ("c" -> obj3))

成这个?
val initial_value = Something("foo", "bar")
val result = obj3.func(obj2.func(obj1.func(initial_value)))
pipeline在运行时初始化并包含不确定数量的“管理器”。

我试过 foreach但它需要一个中间 var存储结果,和 foldLeft仅适用于 ListMap 的类型, 而初始值和结果的类型是 Something .

谢谢

最佳答案

这应该这样做:

 pipeline.foldLeft(initial_value){case (acc, (k,obj)) => obj.func(acc)}

不过,不知道为什么管道包含对。

关于scala - 将一系列函数应用于 value 并获得最终结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32872589/

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