gpt4 book ai didi

Scala 枚举类型在匹配/大小写中失败

转载 作者:行者123 更新时间:2023-12-04 01:29:17 24 4
gpt4 key购买 nike

枚举值似乎在 match/case 表达式中失败。这就是工作表中发生的情况。

  object EnumType extends Enumeration {
type EnumType = Value
val a, b = Value
}

import EnumType._
val x: EnumType = b //> x : ... .EnumType.EnumType = b

x match {
case a => "a"
case b => "b"
} //> res0: String = a

if (x == a) "a" else "b" //> res1: String = b

这是怎么回事?谢谢。

最佳答案

就像@Kevin Wright 和@Lee 刚刚说的,ab作为可变模式工作,而不是作为 EnumType值。

修复您的代码的另一个选项是明确您正在引用来自 EnumType 的值。单例:

scala> x match { case EnumType.a => "a" case EnumType.b => "b" }
res2: String = b

关于Scala 枚举类型在匹配/大小写中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21412226/

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