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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值