我正在使用groovy 2.4.10版本,偶然发现范围异常:
1..50 --> [1,2,3,4....,50] //ok, as expexted
'a'..'z' --> [a,b,...,z]
'a1'..'a5' --> [a1, a2, a3, a4, a5]
'a1'..'a15' --> [a1] //These are wrong
'a1'..'a35' --> [a1, a2, a3]
因此,该范围似乎在2个字符后停止工作。这是预期的行为还是迭代器中的错误?文档说
范围可用于实现java.lang.Comparable进行比较的任何Java对象,并且还具有next()和previous()方法可返回范围中的下一个/上一个项目。例如,您可以创建一系列String元素。
由于'a35'.previous()
,'a35'.next()
可以正常工作,因此范围也不应该吗?