属性

仕事で Catalyst を使おうと思っています。(ってゴロタンに言ったら「帰れ」言われた…)


はじめてのCatalyst」をみながらやってるわけですが、最初のサンプルコードはご多分に漏れず HelloWorld :

sub hello : Global {
    my ($self, $context) = @_;
    $context->response->output("Hello World!");
}

うぇー " : Global" ってなんだよ…、こんな記法見たことない……。やはり、『初めてのPerl』と『続・初めてのPerl - Perlオブジェクト、リファレンス、モジュール』だけで乗り切るのは無謀なのか。


調べたら「属性」っつーもんらしい。直近の はてな技術発表会日記「11月08日の技術勉強会」にもあった。助かった。ふーむ、こんなところにメタデータを書く方法があったか、建て増し万歳! 悪くないけど戸惑うな。微妙。


Catalyst で主に使うのは Global と Private で、Global が公開アクションで Private が内部からフォワードでしか使えないアクションらしい。begin, auto, default, end といったサブルーチンを書いておけばアクション実行時にお好みの処理を挟めるみたい。アスペクトン。(追記:default は Rails の index メソッド相当だった。begin と auto がなぜ分かれているかは未だわからん)


Perler に「コレも読まずに仕事してるのか!読めっ!」って怒られそうだ。でも高いじゃない? これ買ったら「はてな入り(ry」って書いて、はてな入らないと元が取れなくない?

プログラミングPerl〈VOLUME1〉プログラミングPerl〈VOLUME2〉