Тема: AHK: Метод класса __Set()
Всем добра!
В справке сказано, что он вызывается для всякого атрибута, имя которого не было найдено при попытке присвоить ему значение. Но ведь на момент создания класса, конструктор __New() как раз занимается тем, что присваивает несуществующим атрибутам новые значения, а раз так, то следующий пример превращается в бесконечную рекурсию:
class Test
{
__New(data_01, data_02) {
this.data_01 := data_01
this.data_02 := data_02
this.storage := {}
}
__Get(key) {
return this.storage[key]
}
__Set(key, value) {
this.storage[key] := value
}
}
obj := new Test("data_01", "data_02")
MsgBox,% obj.data_01
MsgBox,% obj.data_02
obj.data_03 := "test"
MsgBox,% obj.data_03
Подскажите пожалуйста, как правильно записать пример выше, чтобы создание атрибутов из __New() не превращалось в рекурсию.