看着写得很好的学习Scalaz,我看了Enum
:
scala> 'a' |-> 'e'
res20: List[Char] = List(a, b, c, d, e)
我可以理解:
scala> res20(0)
res21: Char = a
然后得到它的继任者:
scala> res20(0).succ
res22: Char = b
但是,为什么头部的pred
等于```?
scala> res20(0).pred
res23: Char = `
对于pred的pred等于_
?
scala> res20(0).pred.pred
res24: Char = _
答案 0 :(得分:2)
Char
不会从a
开始。您会看到相同的结果,例如: ('a' - 1).toChar
,基本上所有Enum
pred
正在做(虽然以更原则的方式,没有从Char
到{{1}的可怕自动转换}})。