いま Perl で一番イケてるオブジェクト指向プログラミングを学ぶ 最近、現実逃避で「CPAN author にでもなるか」と思い、Perl でちゃんとしたモジュールを書くにはどうしたらいいかをチマチマ勉強しています。 で、そうなるとやっぱりオブジェクト指向なわけです。が、Perl は Java などに比べるとオブジェクト指向的な記述を前提としていないユルユルなプログラム言語 (あくまで主観ですが) なので、書き方も使い方も実現方法も色々あってどういう風にやるのが一般的なのかよくわかりません。普段から CPAN のモジュールを使っていればそれでもなんとなくわかるのですが、モジュール探すより先に手が動いてしまうタチなので深く経験・学習する機会もなく。 実は過去にオブジェクト指向っぽい書き方にチャレンジしてみたものの、書いてるうちに「一人で使っている分にはベタで書いたほうが早い」とか思い出して
タイトルは釣りです。 実際のタイトルは「Perlのオブジェクト指向がムズカシイだって?んなバカな。だったらPHPで再現してやんよ!」でございます。 ヘイヘイヘイ。そこの君。Perlのオブジェクト指向が難しいだなんていったい誰が言ったんだい? Perlのオブジェクト指向ほど、シンプル且つ柔軟なものはないよ! 単なるパッケージ(名前空間)とリファレンス(データ)をblessという関数で紐付けただけのもなんだから。 第一引数に必ず$selfが来るっていうのも結局の話たんなる関数呼び出しとなんら変わらないのだから。 package Foo; sub new { my $class = shift; return bless { @_ } , ref $class || $class; } sub plus { my $self = shift; my $int = shift; return $s
2007年04月24日00:45 カテゴリLightweight Languages perl - POO と goto というわけで、本番。 404 Blog Not Found:perl - 万能なnewの書き方 ここからが面白くなるのだが次のEntryへ譲るここに着目していただきたい。 sub init { my $self = shift; $self->{$_} = $default{$_} for keys %default; $self->SUPER::init(); } 初期化に限らず、自分で何かをしたら次のメソッドに振るというのは、OOでは非常によく見られる光景だ。特にpluginなどを使っている場合、それが著しい。 しかし、このコード、次のメソッドに振っているのはいいのだけど、振ってから戻ってくるのだ。メソッド呼び出しも関数呼び出しに過ぎないのだから、当然といえば当然だ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く