List[List[A]] 并且需要返回一个“空”值,那么在理论上是否有以下偏好 a) 无 b) 列表(无) ...还是取决于功能? 举个具体的例子,我可以实现-6ren">
gpt4 book ai didi

scala - 更正 List[List[X]] 的 "empty"返回值

转载 作者:行者123 更新时间:2023-12-04 02:40:53 25 4
gpt4 key购买 nike

如果我有一个函数 List[A] => List[List[A]] 并且需要返回一个“空”值,那么在理论上是否有以下偏好

a)

b) 列表(无)

...还是取决于功能?

举个具体的例子,我可以实现一个函数,将一个列表拆分成长度为 n 或更短的子列表,如下所示:

def sublists[A](xs: List[A], n: Int): List[List[A]] = {
val (ys, zs) = xs.splitAt(n)
if (zs.isEmpty) ys :: Nil
else ys :: sublists(zs, n)
}

如果 xs 为空,则返回 List(Nil)。我是否需要检查 xs 是否为空并返回 Nil,以使此函数正确?

最佳答案

毫无疑问,List 的正确空值是空 List,无论 List 元素的类型是什么。

对于更详细的类型也是如此。包含空集的集合与空集非常不同,等等。

这样想:一个列表结果让你问:我们有多少结果?如果您使用一个包含空列表的列表作为空值,那么答案将是错误的 1。

关于scala - 更正 List[List[X]] 的 "empty"返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19962566/

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