'da temel bir özellik değiştiğinde tembel yapılı özniteliğin yeniden oluşturulması, lazy_build
özniteliğine sahip bir Moose sınıfım var. Bu özelliğin değeri başka bir (tembel olmayan) özniteliğin bir işlevidir.Moose
Birinin, sınıfı istenen öznitelik için 42 değeriyle başlattığını varsayalım. Daha sonra 42'lik bir fonksiyon olarak hesaplanan tembel niteliğini talep ederler. Daha sonra, ilk niteliği değiştirmek için sinirleri vardır!
Tembel olan zaten oluşturuldu, bu nedenle oluşturucu yeniden çağrılmayacak ve tembel özniteliği artık güncel değil.
Gerekli öznitelik üzerinde "kirli" bir bayrağı koruduğum bir çözümüm var ve tembel olan bir erişimci, kirli bayrağı kontrol ediyor ve gerekiyorsa yeniden oluşturuyor. Bununla birlikte, bu çok iş gibi görünüyor. Bunu, Moose içinde ele almak için bir yol var mı, örn. özellikleri kullanarak?
Aynı soruyu sorduğumda yanıtları incelemek isteyebilirsiniz: [Özellik değerleri değiştiğinde hesaplamaların önbelleğe alınmış sonuçları sona eriyor] (http://stackoverflow.com/questions/1775572/moose-expiring-cached-results -of-calculations-when-attribute-values-change "Öznitelik değerleri değiştiğinde hesaplamaların önbelleğe alınmış sonuçlarının sonlandırılması") – clscott