11

刚刚阅读此页面: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 sill 有一些随机字符序列的可能性更大,按照正确的顺序做一些有用的事情,比如()x!!“运算符”?

这里是否有任何其他语言发现了歌剧?

4

2 回答 2

13

从您链接的页面:

它们就像操作员,因为这些Perl 程序员经常看到它们,无需考虑它们的小部分就可以识别它们,并最终将它们添加到他们的工具箱中。从某种意义上说,它们就像秘密一样,必须由未来的用户发现(或由其他程序员传播),因为它们没有明确记录。

也就是说,它们实际上并不是自己的算子,而是由较小的算子组成,它们组合在一起做某事。

例如,'venus' 运算符(0++0)在其左侧或右侧对对象进行数字化。这就是以任何形式添加零的作用,“秘密”运算符与否。

于 2013-07-09T22:56:54.173 回答
4

Perl 有一堆执行特殊操作的运算符,以及在特定上下文中解释时执行特殊操作的字符。与其将它们视为实际的“操作符”(即,不被 Perl 解析器明确识别),不如将它们视为某些功能/操作的组合。例如()X!!,被称为“企业”操作符的()是一个列表,后面x是重复操作符 ,然后是!!执行布尔转换的(“bang bang”操作符)。这是 Perl 如此富有表现力的原因之一。

于 2013-07-09T22:59:14.247 回答