Class::Accessor::Typedの0.03をリリースしました. 前回の0.02は2019年のリリースなので約2年ぶりですね...
今回の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になります).
宜しければ使ってみてください.