如何设置 Moose 属性的默认值?

How can I set defaults for Moose attributes?

Moose 'has' 属性似乎需要选项 'is'。 如果我省略它,它会变得很疯狂。

实际上我声明的每个数字或字符串属性都是 'rw'。

如何为 'is' 设置默认值,这样我就不必每次都写了?

我查看了 Moose::Meta::Attribute::Native,但如果它告诉我如何去做,我太笨了,无法理解。

您可以使用 MooseX::HasDefaults 模块。

它给你两个选项,要么将默认值设置为 'ro' 要么设置为 'rw':

use Moose;
use MooseX::HasDefaults::RW;

has 'thing' => (
  isa  => 'Str'
);

上面的代码创建了一个属性'thing',默认情况下是'rw'。