理解String#succ

时间:2013-12-21 18:01:35

标签: python ruby

我不是Ruby程序员,但在尝试回答这个问题python's counterpart for Ruby String#succ?时,我试图了解Ruby的实现是如何工作的。然后我提到了文档succ → new_str,我意识到,除了

之外,所有的例子都符合描述
"<<koala>>".succ   #=> "<<koalb>>"

我的Python实现返回

>>> succ("<<koala>>")
'<<koala>?'

采用三个继承规则

  1. 递增数字始终会产生另一个数字
  2. 增加一封信会导致同一案件的另一封信。
  3. 增加非字母数字使用基础字符集的整理顺序。
  4. 正如从文档中解释的那样,但是看到上面的例子,似乎我错过了一些东西。

    有人可以帮我理解上面例子背后的逻辑吗?

1 个答案:

答案 0 :(得分:2)

它实际上是在文档中描述的,也许你误解了。

如果有字母数字字符,则必须从最右边的一个字符开始递增("a"中的最后"<<koala>>")。

如果字符串中没有字母数字字符,则必须从整个字符串中最右边的字符开始递增。