gpt4 book ai didi

scala - 更好的一个类轮来生成 n 个空格

转载 作者:行者123 更新时间:2023-12-01 06:57:22 25 4
gpt4 key购买 nike

是的,这是一个有趣的问题,但我想学习如何正确使用集合操作,例如 map、reduce 和 fold。

我这样做了:

scala> Range(0,3) map(_=>" ") reduceLeft(_+_)
res15: java.lang.String = " "

使用集合操作生成 n 个空间的更好的惯用方法是什么?

最佳答案

从技术上讲,以下是“收集操作”,我猜,因为 StringOps scala.collection.immutable包裹:

scala> " " * 3
res1: String = " "

这里发生的事情是 " "隐式转换为 StringOps 的实例来自 scala.Predef.augmentString ,然后是 *方法在 StringOps叫做。

更新:我的意思部分是作为一种玩笑,因为这显然不是您所说的“集合操作”的意思——它不是像 map 这样的高阶函数或 reduce .我肯定会在实际代码中使用我的版本( StringOps 版本),但是如果您想使用高阶函数(出于教育原因、类似问题等),我认为您的版本非常接近惯用语。我个人会使用 until用于构建范围和 reduce而不是 reduceLeft (因为串联是关联的)——也就是说,几乎是 virtualeyes 在他或她的答案中写的。

关于scala - 更好的一个类轮来生成 n 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9958222/

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