當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Ruby String.next用法及代碼示例


本文簡要介紹ruby語言中 String.next 的用法。

用法

next()
別名:succ

返回 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.next。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。