gpt4 book ai didi

Scala - List take - OrElse - 带默认值

转载 作者:行者123 更新时间:2023-12-02 07:17:59 25 4
gpt4 key购买 nike

我正在尝试实现一种从 Scala 列表中获取 n 的方法,但是我在 f n > list.length 中指定了一个默认值。类似 takeOrElse 的东西。

比如说,val l = List(4, 6, 10)

val taken = l.takeOrElse(5, 0) //List(4, 5, 6, 0, 0)

有没有办法在没有突变和缓冲区的情况下惯用地做到这一点?感谢您的意见。

最佳答案

您可以在 List 上使用 takepadTo 函数。

take 返回一个新的 List,其中包含列表的前 n 个元素,如果 n 小于列表的长度,则返回整个列表。

padTo 函数会将元素添加到 List 中,直到其长度等于其第一个参数中的值。如果列表已经足够长,它将什么都不做。

像这样:

val taken = l.take(5).padTo(5, 0)

关于Scala - List take - OrElse - 带默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55894435/

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