Perl 运算符是"discovered"而不是设计好的?

  • 本文关键字:运算符 discovered Perl perl
  • 更新时间 :
  • 英文 :


阅读本页:https://github.com/book/perlsecret/blob/master/lib/perlsecret.pod,并对以下声明感到非常惊讶:

Discovered by Philippe Bruhat, 2012.
Discovered by Abigail, 2010. (Alternate nickname: "grappling hook")
Discovered by Rafaël Garcia-Suarez, 2009.
Discovered by Philippe Bruhat, 2007.

等等…

上面的运算符是DISCOVERED,所以它们不是perl设计故意的吗?

这意味着perl可能会有一些随机的字符序列按照正确的顺序做一些有用的,比如()x!!"运算符"?

这里有发现运算符的其他语言吗?

从您链接的页面:

它们就像这些Perl程序员所看到的运算符他们经常认出他们而不去想他们较小的零件,并最终将它们添加到工具箱中。他们是就像秘密一样,它们必须被他们的未来的用户(或由程序员同事传输),因为他们没有明确记录。

也就是说,它们实际上不是自己的运营商,但它们是由较小的运营商组成的,这些运营商组合在一起做一些事情。

例如,'venus'运算符(0++0)对对象的左侧或右侧进行编号。这就是以任何形式加零的作用,不管是否为"秘密"运算符。

Perl有一堆做特殊事情的运算符,以及在特定上下文中解释时做特殊事情。与其将它们视为实际的"运算符"(即,Perl语法分析器未明确识别),不如将它们看作某些函数/操作的组合。例如,被称为"企业"运算符的()X!!由列表()、重复运算符x和执行布尔转换的!!("砰砰"运算符)组成。这就是Perl如此富有表现力的原因之一。

最新更新