Предположим, что у меня есть пространство имен foo.
Теперь я хочу уничтожить все экземпляры всех объектов: созданных объектов внутри foo, без удаления foo (я хочу, чтобы его «регулярная» переменная namesapce и procs). Как я могу это сделать? Я знаю, как сделать для partcioular имя класса, но хотелось бы, чтобы это было для ВСЕХ классов. В таких языках, как SCHEME/Perl, это различие легко сделать. В таких языках, как Ruby, вы просто сворачиваете все нестандартные классы, и это все. Другой допустимый вариант - поиск.
До сих пор я нашел, что мне нужно найти все элементы списка, которые существуют в info commands ::foo:
, но не в info procs ::foo::
Однако я не знаю, является ли это «безопасным», или если есть более элегантный способ сделав это
Спасибо.Список всех экземпляров любого класса в пространстве имен в TCL
0
A
ответ
1
прямой путь, чтобы пройти через список команд в пространстве имен и проверить, если они объекты:
foreach cmd [info commands ::foo::*] {
if {[info object isa object $cmd]} {
$cmd destroy
# You could also use: rename $cmd ""
}
}
Что я бы на самом деле сделать, это все объекты Экземпляр конкретный класс (возможно, через mixin), а затем nuke этот класс, который автоматически выведет все его экземпляры (и любые его подклассы, которые вы сделали тоже). Класс, о котором идет речь, может быть маркером без особого поведения.
Смежные вопросы
- 1. Переменная в пространстве имен TCL
- 2. Список всех экземпляров класса
- 3. Список всех элементов в пространстве имен python
- 4. Elixir Список всех модулей в пространстве имен
- 5. Список всех символов в пространстве имен std
- 6. tcl use variable в пространстве имен
- 7. Список всех экземпляров класса, созданного
- 8. Определение класса в пространстве имен
- 9. Определения класса в пространстве имен
- 10. Tcl: импорт пространства имен в пространстве имен Eval
- 11. Вопрос Tcl - как перечислять функции в пространстве имен
- 12. Программно получить список всех контроллеров в данном пространстве имен
- 13. Использование TemplateHaskell для перечисления всех имен в пространстве имен
- 14. Получение всех экземпляров класса
- 15. Использование PHP-класса в родительском пространстве имен
- 16. Уместность класса MemoryStream в пространстве имен System.IO
- 17. Действительность стиля класса, определяющего в пространстве имен
- 18. Доступ Свойство класса в родительском пространстве имен
- 19. Определение дескриптора для класса в пространстве имен
- 20. Дружелюбие/Использование класса в другом пространстве имен
- 21. способ определения класса в пространстве имен
- 22. несколько экземпляров класса, содержащего список в Python
- 23. Получить список классов в пространстве имен в C#
- 24. Список экземпляров объекта класса
- 25. Используйте Ninject.InSingletonScope() для всех классов в определенном пространстве имен
- 26. Неоднозначное в пространстве имен
- 27. Числа в пространстве имен
- 28. основной в пространстве имен
- 29. Ошибки в пространстве имен
- 30. Список всех экземпляров службы в WCF