Perl中的自增、自減

自增和自減

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

  • 若是自增(++)和自減(--)符號放在數值的前面,則先增減,再返回;
  • 若是自增(++)和自減(--)符號放在數值的後面,則先返回,再增減;
  • 若是自增、自減操做是獨立的一句表達式,則自增、自減符號放在前面或後面都是等價的;
$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字符,再進一位表示多加一個字符。看示例更容易理解。ci

$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
相關文章
相關標籤/搜索