特殊值的字符串表示

String representation of special values

a demo

object Main extends App {
  object MultOp extends Enumeration {
    type MultOp = Value
    val *, /, mod, rem = Value
  }
  println(MultOp.values) // produces $times, $div, mod, rem
}

这无可否认地证明了值 */ 具有字符串表示 $times $div 而不是它们的文字来源。如何让 *.toString 等于 * 而不是 $mult

您可以单独编写枚举的值并指定字符串表示形式:

  object MultOp extends Enumeration {
    type MultOp = Value
    val * = Value("*")
    val / = Value("/")
    val mod = Value("mod")
    val rem = Value("rem")
  }
  println(MultOp.values) // prints MultOp.ValueSet(*, /, mod, rem)

Demo