我正在试图找出一种方法,看看我是否设置了一个懒惰的内置属性.我已经搜索了Moose :: Meta :: Attribute和Class :: MOP :: Attribute的文档,并看到了get_value和has_value方法,但它们似乎对我不起作用.
get_value的文档说:
$attr->has_value($instance)
但是什么是$实例?我尝试使用我的对象,但这只是返回错误:
“You must pass a package name and it cannot be blessed..”
任何帮助表示赞赏!
解决方法
您可能想要的是对属性的谓词.例如.
has foo => ( is => 'rw',lazy => 1,predicate => 'has_foo',);