gpt4 book ai didi

scala - 如何修复 Scala 中案例类集合的约束

转载 作者:行者123 更新时间:2023-12-01 12:30:03 26 4
gpt4 key购买 nike

有没有办法对案例类的集合进行约束。就我而言,我想确保集合中的所有元素的第一个属性都具有相同的值。

下面是一个代码示例来表达我的意思

  case class In[T](values : Set[T])

trait A
case object A1 extends A
case object A2 extends A

case class Element(k: A, v: String)

In(Set(Element(A1, "xxx"), Element(A1, "xxx"))) // should compile
In(Set(Element(A1, "xxx"), Element(A2, "xxx"))) // should not compile

最佳答案

您可以接受这个解决方案吗?

case class In[T](values : Set[T])

trait A
case object A1 extends A
case object A2 extends A

case class Element[T <: A](k: T, v: String)

In(Set[Element[A1.type]](Element(A1, "xxx"), Element(A1, "xxx"))) // should compile
In(Set[Element[A1.type]](Element(A1, "xxx"), Element(A2, "xxx"))) // should not compile

关于scala - 如何修复 Scala 中案例类集合的约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35034065/

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