Masteries

技術的なことや仕事に関することを書いていきます.

Class::Accessor::Typed 0.03をリリースしました

Class::Accessor::Typedの0.03をリリースしました. 前回の0.02は2019年のリリースなので約2年ぶりですね...

papix.hatenablog.com

今回の0.03では, optional オプションの追加をしました. 次のように使えます:

use N;

# optional なので, `rw2` は指定しなくてもよい
my $obj = N->new(rw1 => 'RW1');
is $obj->rw1, 'RW1';
is $obj->rw2, undef;

package N;

use Class::Accessor::Typed (
    rw => {
        rw1 => 'Str',
        rw2 => { isa => 'Int', optional => 1 },
    },
);

Smart::Argsのように, optional が真の場合, new するときにそのパラメータを渡さない... ということができます(その場合, undefになります).

metacpan.org

宜しければ使ってみてください.