【发布时间】:2014-07-30 17:12:34
【问题描述】:
$a++; # ok
$a--; # ok
--$a; # ok
++$a; # ok
--$a++; # syntax error
$a++--; # syntax error
($a++)--; # syntax error
--$a--; # syntax error
在其中一些方面,我可以看出原因——但在 --$a-- 这样的情况下,没有歧义,也没有优先级冲突。我很生气拉里没有让我这样做..(甚至没有让我开始因为缺乏地板操作员!)
不是我需要或想要的——我只是想更多地了解这些操作员的工作原理,并发现了那种令人惊讶的结果..
【问题讨论】:
-
可能是因为
++$a--.. 的语义不健全。 -
++$a--:将 $a 中存储的值加一并返回新值,然后将 $a 中存储的值减一。嗯,$a+1为您节省了两个字符、两次写入内存和几个处理器周期。在可维护性方面的收益也不会受到伤害...... -
Perl 在 POSIX.pm 中带有
floor -
可能很难想象与行人编程类似的语法的实际应用,但在我的世界中,我编写的 Perl 编写了更多的 Perl,我很容易遇到这样的情况,我可能会 ++ 或-- 一个子句,前或后。对它进行编程可能比回顾它以前是否被递减等更容易。
标签: perl syntax increment decrement