Scalaz.NonEmptyList 对比 Scala.List?
Scalaz.NonEmptyList vs Scala.List?
有人可以解释为什么我应该使用 Scalaz 的 NonEmptyList
而不是 Scala 的 List
吗?
在不可变的应用程序中,创建一个空的 List
没有多大意义
- 那么我应该在不可变应用程序中始终使用
NonEmptyList
吗?
- 为什么我还要使用 scalaz 的
NonEmptyList
而不是 scala 的 List
,而不是它保证列表中至少有一个元素的明显原因?
Scala 的集合有很多不安全的方法。这些包括 head、last 等。不安全意味着如果集合为空,它们将抛出异常。现在你可以说 "I am really sure this collection will not be empty at runtime, so my code is safe"。但是,有人出现,更改了您的代码等
因此,从本质上讲,scalaz 类型为您提供了静态安全性,因为如果您静态地知道集合不会为空,那么调用 head 等是安全的。
有人可以解释为什么我应该使用 Scalaz 的 NonEmptyList
而不是 Scala 的 List
吗?
在不可变的应用程序中,创建一个空的 List
- 那么我应该在不可变应用程序中始终使用
NonEmptyList
吗? - 为什么我还要使用 scalaz 的
NonEmptyList
而不是 scala 的List
,而不是它保证列表中至少有一个元素的明显原因?
Scala 的集合有很多不安全的方法。这些包括 head、last 等。不安全意味着如果集合为空,它们将抛出异常。现在你可以说 "I am really sure this collection will not be empty at runtime, so my code is safe"。但是,有人出现,更改了您的代码等
因此,从本质上讲,scalaz 类型为您提供了静态安全性,因为如果您静态地知道集合不会为空,那么调用 head 等是安全的。