デリファレンスのオーバーロード
Catalyst のぷらぎんかいてて overload もデリファレンスとかでつかうならいいかなとか思った。
普通の演算子のオーバーロードは C++ とかだとかっけーんだけど、Perl でやるとうまく使わない限りなんか微妙で好きじゃなかったんだけど。デリファレンスのそれは結構なかなかかも。
#!/usr/bin/perl
use strict;
package OverloadTest;
use overload (
q{""} => sub { shift->{text} },
'${}' => sub { shift->{scalar} },
'@{}' => sub { shift->{array} },
'&{}' => sub { shift->{function} },
);
sub new {
my $self = bless {}, shift;
$self->{text} = 'fooooooooo';
$self->{scalar} = \'heh ;)';
$self->{array} = [qw/blah blah blahhh/];
$self->{function} = sub { "bar!!!!" };
$self;
}
package main;
use Data::Dumper;
my $ol = OverloadTest->new;
print Dumper "$ol";
print Dumper $$ol;
print Dumper &$ol;
print Dumper [ @$ol ];
こんなの。String参照とデリファレンスのオーバーロード。
wantarray みたいな用途に使えそう。
ちなみに上のの出力は
$VAR1 = 'fooooooooo';
$VAR1 = 'heh ;)';
$VAR1 = 'bar!!!!';
$VAR1 = [
'blah',
'blah',
'blahhh'
];
こうなる。
del.icio.us/fladdict
ほとんどのブクマにちゃんとコメントをつけていて非常に見やすい。
ちゃんと内容みてからブクマしないとなかなかコメントはつけられない。いや、コメントというか自分用の要約みたいなものか。
これは真似すべきだなぁ。あとで読む的ブクマが多すぎる。
ほっとレモン
の季節が来ましたよ。
Mixi でコミュ作ろうとしたらすでにあったよ
pager
Data::Page::Navigation 使うように変更。
すばらしなぁ。Data::Page ネームスペースでごにょってくれてるのもうれしい。
super ugly
なんか来期参戦できないとか。
琢磨はミッドランドいくのかね。
Tab Preview
とか言うの入れてみて、一瞬便利かも! とかおもったけど邪魔なだけだった。