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 がいくつかのランダムな文字シーケンスを持っている可能性があることを意味します。正しい順序で、 「オペレーター」のような便利なことをしていますか?()x!!

オペラトスを発見した他の言語はありますか?

4

2 に答える 2

13

リンクしたページから:

それらは、これらのPerl プログラマーが小さい部分について考えなくても認識できるほど頻繁にそれらを見て、最終的にそれらをツールボックスに追加するという意味で、演算子のようなものです。そして、それらは明示的に文書化されていないため、将来のユーザーによって発見される必要がある (または仲間のプログラマーによって送信される) 必要があるという意味で、秘密のようなものです。

つまり、それらは実際には独自のオペレーターではありませんが、組み合わせて何かを行うために合成された小さなオペレーターで構成されています。

たとえば、「venus」演算子 (0+または+0) は、オブジェクトの左または右を数値化します。それが、「秘密」演算子であろうとなかろうと、あらゆる形式でゼロを追加することです。

于 2013-07-09T22:56:54.173 に答える
4

Perl には、特定のコンテキストで解釈されたときに特別なことを行う文字だけでなく、特別なことを行う一連の演算子があります。これらは実際の「演算子」(つまり、Perl パーサーによって明示的に認識されない) ではなく、特定の関数/操作の組み合わせと考えてください。たとえば()X!!、「エンタープライズ」演算子として知られる()は、リスト、x繰り返し演算子で!!ある 、ブール変換を実行する (「bang bang」演算子) で構成されます。これが、Perl が非常に表現力豊かである理由の 1 つです。

于 2013-07-09T22:59:14.247 に答える