トップ «前の日記(■2004-12-21) 最新 次の日記(■2004-12-29)» 編集

どんぞこ日誌

2003|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|07|08|12|
2007|01|04|08|12|
2008|01|02|03|04|06|07|08|10|11|12|
2009|01|02|04|05|06|07|08|09|11|12|
2010|01|03|04|07|08|10|11|12|
2011|01|02|03|04|05|06|07|08|10|12|
2012|01|02|03|05|06|07|08|09|10|
2013|01|02|07|08|09|
2014|08|09|
2015|08|
2016|06|07|12|
2017|01|03|08|
2018|03|
2022|03|
2023|03|
2024|02|

同人関連(どんぞこ楽屋) | 旧い雑文   


■2004-12-26

* [今月のAcme] Acme::Don'tとAcme::ComeFrom(本年最後のAcme)B!

  本当はInline::PerlAcme::Inline::Perlの流れでいきたかったのですが、例によって他所で紹介されてしまっているので、やめまして。本年最後は二つ取り上げましょう。最初はAcme::Don't

 use Acme::Don't;
 don't { print "This won't be printed\n" };

Perl組み込みのdoの反対に、なにもしません。これは'::の読替になることを利用しています(昔のコードでよく見られる jcode'convert みたいな)。
  Acme::Don'tの応用でAcme::X'mas::IsWrong。ってのもできますね。 →参考:NOVAのクリスマスCM、表記を変更。中学のときにX'masという表記は間違いだと知って、周囲にその旨説明したのですが、当時はいっこうに信用してもらえなかったですよ。良い時代になったものです(?)

  で、もう一つは行く年来る年に相応しくAcme::ComeFrom。Inline::Perlの作者と同じ方です。Perlに限らずよく知られたgotoの反対でcomefrom。comefrom LABELとすると、LABEL行の文を実行する前にcomefromにジャンプします。comefrom 式はスコープ内で動的にラベルが決定されて、対応するラベルからジャンプしてきます。最後にcomefrom &サブルーチン名は、対応するサブルーチン名を実行した後、ジャンプしてきます。
  面白いことに、同一のcomefrom LABELcomefrom &サブルーチン名などが複数存在していると、forkすることで全て枝分かれに実行されていきます。INTERCALというのからインスピレーションを受けているらしいです→INTERCAL 情報

  やあ、これで今年のAcme紹介(100%自己満足)はおしまい。

[]