为什么案例类被命名为"案例"?

Lar*_*ers 6 scala case-class

"案例是" 特定情况一个例子; 发生事情的一个例子 '.

所以我的问题是 - 为什么Scala'case'类被命名为'case'?有什么意义?为什么它是"案例",而不是"数据"类或其他什么?什么意思是'案例'在那.. ..案例:)

mid*_*dor 8

case关键字在其他语言中的主要用途是in- switchstatement,主要用于enums或类似的值,例如ints或strings用于表示不同明确定义的情况:

switch (value)
{ 
   case 1: // do x -
   case 2: // do y - 
   default: // optional
}
Run Code Online (Sandbox Code Playgroud)

在scala中,这些类通常表示抽象类的特定明确定义的可能实例,并且使用方式与命令式代码在match-clauses中使用switch-statements的方式大致相同:

value match {
    case Expr(lhs, rhs) => // do x
    case Atomic(a) => // do y
    case _ => // optional, but will throw exception if something cannot be matched whereas switch won't
}
Run Code Online (Sandbox Code Playgroud)

案例类的大部分行为,例如它们的构建方式,旨在促进/使其在这些陈述中的使用.