驼鹿 - 确定是否已设置懒惰属性

Rya*_*yan 5 perl moose

我正在试图找出一种方法,看看我是否设置了一个懒惰的内置属性.我已经搜索了Moose :: Meta :: AttributeClass :: MOP :: Attribute的文档,并查看了get_valuehas_value方法,但它们似乎对我不起作用.

文档get_value说:

$attr->has_value($instance)
Run Code Online (Sandbox Code Playgroud)

但是什么是$实例?我尝试使用我的对象,但这只是返回错误:

"你必须通过一个包名,它不能被祝福......"

任何帮助表示赞赏!

Leo*_*ans 6

您可能想要的是对属性的谓词.例如

has foo => (
  is        => 'rw',
  lazy      => 1,
  predicate => 'has_foo',
);
Run Code Online (Sandbox Code Playgroud)