愛と勇気と缶ビール

ふしぎとぼくらはなにをしたらよいか

続Sub::Spy

結局こんなインタフェースにした。

    use Sub::Spy qw/spy inspect/;

    my $subref = { $_[0] + $_[1]; };
    my $spy = spy($subref);

    $spy->(1, 2);

    my $i = inspect($spy);

    $i->called; # 1 (true)
    $i->called_once; # 1 (true)
    $i->called_twice; # 0 (false)

    $i->threw; # 0 (false)

    $i->get_args(0); # [1, 2]
    $i->get_return_value(0); # 3

    $i->get_call(0)->arguments; # [1, 2]
    $i->get_call(0)->return_value; # 3


http://github.com/zentooo/p5-sub-spy

やるとしても機能追加で、インタフェースこれ以上変わらんだろうと思ったのでCPANにもあげちゃった。ちょっと早まったかも。