gpt4 book ai didi

scala - 测试所有类型的通用空值

转载 作者:行者123 更新时间:2023-12-04 13:34:10 26 4
gpt4 key购买 nike

我正在寻找一种解决方案来测试任何类型的值是否为空(或默认值)。 IE。 Any上的某种方法测试是否 String实例等于 "" , 一个 Int - 至 0 , Float - 至 0f , Boolean - 至 false , List不包含其他类型的项目等。主要我感兴趣的是标准库中是否已经存在一些解决方案,如果没有,你将如何实现它。我相信这可能很有用,如果标准库中不存在它,则应该提出建议。

最佳答案

使用 Zero Scalaz 的类型类。

scala> import scalaz._, Scalaz._
import scalaz._
import Scalaz._

scala> def isEmpty[A : Zero](value: A) = value == mzero[A]
isEmpty: [A](value: A)(implicit evidence$1: scalaz.Zero[A])Boolean

scala> isEmpty("")
res0: Boolean = true

scala> isEmpty(List())
res1: Boolean = true

scala> isEmpty(false)
res2: Boolean = true

scala> isEmpty("O HAI")
res3: Boolean = false

Link to a blog post我的一个相关主题。

关于scala - 测试所有类型的通用空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8674142/

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