perl表达式中有任何副作用$a = $a;

perl表达式中有任何副作用$a = $a;,第1张

概述将有人请解释下一个: 在“Programming Perl”一书中,postfix autoincrement operator被描述为 when placed after, they ($a-- , $a++) increment or decrement the variable after returning the value. 所以,据我所知,$a从未在虚空环境中使用过,因为有人说过 t 将有人请解释下一个:

在“Programming Perl”一书中,postfix autoincrement operator被描述为

when placed after,they ($a--,$a++) increment or decrement the variable after returning the value.

所以,据我所知,$a从未在虚空环境中使用过,因为有人说过

they increment or decrement the variable

但在下一个示例中,变量的值永远不会改变:

my $a = 3;$a = $a++;say $a; #always outputs 3

所以我的假设是当将值赋给同一个变量时没有理由使用后自动递增,但是“编程Perl”中的定义应该被认为是错误的,因为运算符不会影响变量,而是变量中的值(至少在那个例子中).是对的吗?

提前欣赏.

解决方法 为什么,postfix自动增量和自动减量运算符实际上经常在voID上下文中使用,因为它们影响变量 – 而不是值.

您的示例以其工作方式工作,因为变量在将旧值分配给它之前会后递增.换句话说,顺序

my $a = 3; $a = $a++;

…是… …

1) $old_value = $a;2) $a = $a + 1;3) $a = $old_value;

你应该在你的例子中用$b = $a替换$a = $a,然后打印$b和$a的值,你会清楚地看到差异:当$a增加时(因此,等于4),$b被赋予旧值$a(3).

总结

以上是内存溢出为你收集整理的perl表达式中有任何副作用$a = $a;全部内容,希望文章能够帮你解决perl表达式中有任何副作用$a = $a;所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1229664.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存