2012-03-20 4 views
4

Раньше я смотрел на источник для% G, но в последнее время Intersystems перестала распространять код .INT. Я предполагаю, что в теории я мог бы использовать инструкцию eXecute в цикле, чтобы проверять $ D на каждое юридическое глобальное имя, но это глупо и необоснованно медленно.Каков текущий предпочтительный метод перечисления глобалов в пространстве имен?

Итак, каков в настоящее время правильный способ сделать это?

+0

DAiMor и Стивен Canzano в ответ как на работу. – psr

ответ

2

использования специальной глобальной переменной ^$GLOBAL

, например:

s global="" 
f { 
s global=$o(^$G(global)) 
    q:global="" 
    zw global 
} 
6

Вы всегда можете использовать запрос класса в %SYS.GlobalQuery.

+0

Это действительно предпочтительный метод, потому что перемещение^$ GLOBAL медленное. Что касается исходного кода, вы можете посмотреть на%% SYS.GD – SSH

Смежные вопросы