--- !ruby/object:RI::MethodDescription 
aliases: 
- !ruby/object:RI::AliasName 
  name: original_succ
block_params: 
comment: 
- !ruby/struct:SM::Flow::P 
  body: Returns the successor to <em>str</em>. The successor is calculated by incrementing characters starting from the rightmost alphanumeric (or the rightmost character if there are no alphanumerics) in the string. Incrementing a digit always results in another digit, and incrementing a letter results in another letter of the same case. Incrementing nonalphanumerics uses the underlying character set's collating sequence.
- !ruby/struct:SM::Flow::P 
  body: If the increment generates a ``carry,'' the character to the left of it is incremented. This process repeats until there is no carry, adding an additional character if necessary.
- !ruby/struct:SM::Flow::VERB 
  body: "   &quot;abcd&quot;.succ        #=&gt; &quot;abce&quot;\n   &quot;THX1138&quot;.succ     #=&gt; &quot;THX1139&quot;\n   &quot;&lt;&lt;koala&gt;&gt;&quot;.succ   #=&gt; &quot;&lt;&lt;koalb&gt;&gt;&quot;\n   &quot;1999zzz&quot;.succ     #=&gt; &quot;2000aaa&quot;\n   &quot;ZZZ9999&quot;.succ     #=&gt; &quot;AAAA0000&quot;\n   &quot;***&quot;.succ         #=&gt; &quot;**+&quot;\n"
full_name: String#succ
is_singleton: false
name: succ
params: |
  str.succ   => new_str
  str.next   => new_str

visibility: public
