Go to the first, previous, next, last section, table of contents.


インクリメントとデクリメント

"++" と "--" は、C の場合と同じように動作します。つまり、変数の前に置か れれば、値を返す前に変数をインクリメントまたはデクリメントし、後に置かれ れば、値を返した後で変数をインクリメントまたはデクリメントします。

インクリメント演算子には、ちょっと風変わりな機能が組み込まれています。数 値が入った変数や、数値の文脈で使われてきた変数をインクリメントする場合に は、通常のインクリメントとして動作します。しかし、その変数が設定されてか らずっと文字列の文脈でしか使われていなくて、空でない /^[a-zA-Z]*[0-9]*$/ にマッチする値を持っているときには、個々の文字の範囲を保ちながら桁あげを 行なって、文字列としてインクリメントが行なわれます (マジカルインクリメン トと呼ばれます):

print ++($foo = '99');      # '100' と印字
print ++($foo = 'a0');      # 'a1' と印字
print ++($foo = 'Az');      # 'Ba' と印字
print ++($foo = 'zz');      # 'aaa' と印字

デクリメント演算子には、マジカルなものはありません。


Go to the first, previous, next, last section, table of contents.

検索式: