Mooseでこれを行うことはできますか?言い換えればPerl/Mooseでは、相互依存のデフォルトを持つ2つの属性を持つことはできますか?
package SomeClass;
use Moose;
has start => (
isa => 'Int',
is => 'ro',
lazy => 1,
default => sub { $_[0]->end },
);
has end => (
isa => 'Int',
is => 'ro',
lazy => 1,
default => sub { $_[0]->start },
);
...
は、私が「開始」と「終了」と呼ばれる2つの属性をしたい、そのうちの一つだけが指定されている場合、私は、もう一つは同じものに設定することにしたいです。いずれかを指定しないとエラーになります。
この相互依存セットアップは機能しますか?
これはエラーを指定するのに失敗しませんが、そうでなければ動作するはずです。私はいずれかを指定することができず、そのうちの1つにアクセスすると無限の再帰を引き起こすと考えられます。しかし、それは検証するのが簡単なはずです。 – btilly