Mooseをさわる 1日目
なんで突然Mooseをさわりはじめたかというと、typesterのkamaitachiをちょっと使ってみようと思って見ていたらMooseを使っていて、まずMooseがわからないとコードが読めなかったからです。
ということで、ファーストインプレッションは以下。
- hasとかextendsはなんとなくわかる
- use Moose;するとuse strict;やuse warnings;が必要ないんだね
- no Moose;している理由ってhasとかextendsとかのメソッド(pod内でkeywordと書かれているもの)をそれ以降で使えないようにしたいからなのね
- __PACKAGE__->meta->make_immutable;はそのクラスをimmutableにして、memorizeすることによりMooseの速度を上げる
- Mooseを使ったモジュールの最後に1;ってやってないのあって、変わりに__PACKAGE__->meta->make_immutable;してる
- なんか日本語のドキュメントが少ない。Moose::Cookbookがけっこう充実してるのでまずはその辺を読めばいいかも
- sub BUILD {} ってのがあってMoose的にはnew()は書き換えないで、その代わりにBUILD()を使うらしい
- use Moose;するとそのクラスがMoose::Objectの子クラスいなる(という動作の原理をあとで調べたい)
http://blog.yappo.jp/yappo/archives/000579.html
http://d.hatena.ne.jp/tokuhirom/20080504/1209891158
http://d.hatena.ne.jp/fbis/20080814/1218689670
http://d.hatena.ne.jp/fbis/20080815/1218776733
http://perl-mongers.org/2008/05/moose.html
http://mt.endeworks.jp/d-6/2008/07/moose.html
http://trombik.mine.nu/~cherry/w/index.php/2008/03/22/1202/oop-with-moose