gpt4 book ai didi

scala - 如何在 Scala 中为案例类参数生成值

转载 作者:行者123 更新时间:2023-12-05 02:20:33 25 4
gpt4 key购买 nike

我有一个包含 250 个字段的案例类:

case class Data(field1:String, field2:Int, .. )

有没有办法使用 scala 检查为其参数生成值

我看过的不相关的问题:
How to generate case objects for every field in a Scala case class using macro?
Dynamically generate case class in Scala
Create an Arbitrary instance for a case class that holds a `Numeric` in ScalaCheck?

最佳答案

使用scalacheck-shapeless :

import org.scalacheck.Shapeless._
import org.scalacheck.Arbitrary._

implicitly[Arbitrary[Data]]

上面的代码片段做了以下事情:

  • 通过隐式宏调用 shapeless.Generic[Data] 将您的案例类转换为 shapeless.HList
  • 递归获取每个字段的所有Arbitrary[String]Arbitrary[Int]
  • 将所有这些组装成一个新的 Arbitrary[Data] 实例

关于scala - 如何在 Scala 中为案例类参数生成值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38661574/

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