Есть ли в Itcl возможность динамически расширять класс с помощью методов внутри конструктора?
У меня есть некоторые функции, которые генерируются динамически...
Выглядят они как-то так:
proc attributeFunction fname {
set res "proc $fname args {
#set a attribute list in the class
}"
uplevel 1 $res
}
Теперь у меня есть файл со списком возможных атрибутов:
attributeFunction ::func1
attributeFunction ::func2
attributeFunction ::func3
...
Этот файл получает источник. Но пока я добавляю глобальные функции. Было бы лучше добавить эти функции в качестве методов к объекту Itcl.
Немного справочной информации:
Это используется для создания абстрактного языка, где пользователь может легко добавлять эти атрибуты, записывая их без какого-либо другого ключевого слова. Использование функций здесь дает много преимуществ, которые я не хочу упустить.