当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Ruby String.succ用法及代码示例


本文简要介绍ruby语言中 String.succ 的用法。

用法

succ → new_str
也别名为:next

返回 self 的后继者。后继是通过递增字符来计算的。

要递增的第一个字符是最右边的字母数字:或者,如果没有字母数字,则最右边的字符:

'THX1138'.succ # => "THX1139"
'<<koala>>'.succ # => "<<koalb>>"
'***'.succ # => '**+'

一个数字的后继是另一个数字,“carrying” 到 next-left 字符用于从 9 到 0 的 “rollover”,并在必要时添加另一个数字:

'00'.succ # => "01"
'09'.succ # => "10"
'99'.succ # => "100"

字母的后继是相同大小写的另一个字母,携带到 next-left 字符以进行翻转,并在必要时附加另一个 same-case 字母:

'aa'.succ # => "ab"
'az'.succ # => "ba"
'zz'.succ # => "aaa"
'AA'.succ # => "AB"
'AZ'.succ # => "BA"
'ZZ'.succ # => "AAA"

非字母数字字符的后继字符是基础字符集整理序列中的下一个字符,携带到next-left 字符以进行翻转,并在必要时附加另一个字符:

s = 0.chr * 3
s # => "\x00\x00\x00"
s.succ # => "\x00\x00\x01"
s = 255.chr * 3
s # => "\xFF\xFF\xFF"
s.succ # => "\x01\x00\x00\x00"

携带可能发生在字母数字字符的混合之间和之中:

s = 'zz99zz99'
s.succ # => "aaa00aa00"
s = '99zz99zz'
s.succ # => "100aa00aa"

空字符串的后继是一个新的空字符串:

''.succ # => ""

String#next String#succ 的别名。

相关用法


注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 String.succ。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。