Perl中的自增、自減


自增和自減

perl也支持數值類型的自增和自減操作。不僅如此,還支持字符、字符串的自增、自減。

  • 如果自增(++)和自減(--)符號放在數值的前面,則先增減,再返回;
  • 如果自增(++)和自減(--)符號放在數值的后面,則先返回,再增減;
  • 如果自增、自減操作是獨立的一句表達式,則自增、自減符號放在前面或后面都是等價的;
$a=10;

# 以下4句為獨立的自增、自減表達式,自增自減符號的位置無所謂
$a++;    # 先返回10,再遞增為11
++$a;    # 先遞增為12,再返回12
--$a;    # 先遞減為11,再返回11
$a--;    # 先返回11,再遞減為10

# 以下4句為非獨立的自增、自減表達式,自增自減符號的位置有影響
$m = $a++;    # 先返回10賦值給$m,然后$a再遞增為11,所以執行結束后$m=10,$a=11
$m = ++$a;    # 先遞增為12,再賦值給$m,所以執行結束后$m=12,$a=12
$m = --$a;    # 先遞減為11,再賦值給$m,所以執行結束后$m=11,$a=11
$m = $a--;    # 先返回11賦值給$m,然后$a再遞減為10,所以執行結束后$m=11,$a=10

對於字符和字符串的自增、自減。規則是從最后一個字符按照ascii順序向上進一位,也就是A-->Z,a-->z,如果是Z或z字符,再進一位表示多加一個字符。看示例更容易理解。

$a="b"; say ++$a;
c
$a="ba"; say ++$a;
bb
$a="bz"; say ++$a;
ca
$a="Az"; say ++$a;
Ba
$a="bZ"; say ++$a;
cA
$a="zz"; say ++$a;
aaa


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM