Rolf B: Zeichen in String eins höher zählen funktioniert nicht. Warum?

Beitrag lesen

Hallo Martin,

ja, Marci. Ist doch logisch ;)

Ich identifiziere folgende Regeln (und übersehe vermutlich Ausnahmen):

  1. Sei $string die zu inkrementierende Zeichenkette.
  2. Setze $p auf LEN($string)-1.
  3. Ist $p == -1, beende die Operation mit "1" als Ergebnis.
  4. Setze $c auf $string[$p]
  5. Ist $c ein Match für /[0-8A-Ya-y]/, inkrementiere seinen Zeichencode um 1, schreibe $c nach $string[$p] und beende die Operation mit $string als Ergebnis.
  6. Ist $c == "9", setze $c auf "0"
  7. Ist $c == "Z", setze $c auf "A"
  8. Ist $c == "z", setze $c auf "a"
  9. Schreibe $c nach $string[$p]
  10. Setze $p auf $p - 1. Solange $p nicht negativ ist, setze bei 4. fort.
  11. Ist $c == "a" oder $c == "A", setze $string auf $c . $string. Andernfalls setze $string auf "1" . $string.
  12. Beende die Operation.

Testfragen: Nenne die Nachfolger von "19Z", "1Z99", "zzz", "zzZ" und "Zzz".

Rolf

--
sumpsi - posui - obstruxi