8月17日の技術勉強会 - Flexレイアウト手書き勉強会 8月17日に行われました技術発表会の内容を撮影した動画ファイル/資料を公開いたしました。内容は以下のとおりです。 テーマ Flexレイアウト手書き勉強会 発表者 d:id:secondlife 勉強会動画 ダウンロード…
PerlのAttributeについてのお勉強 このエントリの内容は結構適当です。 今更ですがCatalystなどで使われているattributeに興味を持ったので調べてみた。 やや日本人向けははてな勉強会の資料などにもあります。 今回は、関数のattributeについて。SCALARとかARRAYとかHASHはスルーです。 あと、モジュールなperlではやってません。超シンプルです。 今のPerlでは sub foo : baz {}のように記述出来ますが、通常ではエラーになってしまうのです。 デフォルトで対応しているattributesは(lvalue|method|locked|unique|shared)のみらしいので、bazは対応してないのでエラーが出ます。 perldocを見るとMODIFY_CODE_ATTRIBUTESって関数でattributesの処理をしているそうなので、
Catalystの特徴はなんといっても、Perl5のアトリビュート機能を用いた変態コーディングにあると言えましょう。もちろん『我々が等しく悦びを分かち合えるところの意味での変態ではなく、生物学でいうところの「生物個体あるいはその一部の外形のかなり付加逆的な内因的変化」としての変態』(isbn:4781904548、p. 149)ですよ。Catalystはアトリビュートを使うことで、まるでAWKのパターン・マッチングによるアクション起動に相当することをPerlで実現しているのです。これぞ変態。 ところが、Perl5のアトリビュートは積極的に使われることがないのか、探してみても解説が少ない。それで、Perl-5.8.5のソースまで遡って、ようやくattirbute.pmのPODの意味が理解できました。長いですが、理解できたのが嬉しかったので書いておきます。 ここでは、次のCatalystのコン
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く