我有一个带有lazy_build
属性的 Moose 类。该属性的值是另一个(非惰性)属性的函数。
假设有人用所需属性的值为 42 来实例化类。然后他们请求lazy属性,这个属性是42的函数。然后,他们还好意思改第一个属性!
懒惰的已经被构建了,所以构建器不会被再次调用,并且懒惰的属性现在已经过时了。
我现在有一个解决方案,我在所需属性上维护一个“脏”标志,而惰性属性上的访问器检查脏标志并在需要时重建它。
但是,这似乎需要做很多工作。有没有办法在 Moose 中处理这个问题,例如使用特征?