値がリファレンスのメンバ変数を Moose で使う
初めは
package ClassA; use Moose; has class_variable => ( is => 'ro', isa => 'ArrayRef', default => [qw/hoge fuga foo bar/] );
と書いたけれど、
you must wrap the default of class_variable in a CODE reference (ex: sub { [] } and not [])
とか言われる。
というわけで、
package ClassA; use Moose; has class_variable => ( is => 'ro', isa => 'ArrayRef', default => sub { [qw/hoge fuga foo bar/] } );
とする。
array ref を返す無名関数を書けばいいようだ。
以前も同じところでハマったのでメモ。
普通は前者で書いてしまうよなあ。