gpt4 book ai didi

Scala - 以函数方式修改字符串

转载 作者:行者123 更新时间:2023-12-04 17:53:28 26 4
gpt4 key购买 nike

我刚刚开始使用 Scala,所以我开始着手以更函数式的方式做事。

只是想知道是否有更实用的方法来实现以下目标:

def expand(exp: String): String = {
var result = exp
for ((k,v) <- libMap) {result = result.replace(k, "(%s)".format(v))}
result
}

或者一般来说,给定一个字符串和一些可迭代的集合,遍历集合并为每个元素增量修改输入字符串。

干杯

最佳答案

一般的图案

var result = init
for (foo <- bar) { result = f(result, foo)}
result

可以在函数上表示为
bar.foldLeft(init)(f)

所以对于你的情况,这变成了:
libMap.foldLeft(exp){ case(result, (k,v)) => result.replace(k, "(%s)".format(v))}

关于Scala - 以函数方式修改字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5447061/

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