特殊值的字符串表示
String representation of special values
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)
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)