powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Косвенная адресация в методах объектов
10 сообщений из 10, страница 1 из 1
Косвенная адресация в методах объектов
    #34640082
FenderJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обнаружил, что в методах объектов не работает косвенная адресация с локальными переменными
Оно наверно обусловленно тем что локальные переменные метода должны восстановить прежние значения после его завершения. Хотелось бы этот момент найти в документации.
И что никак нельзя в методе воспользоваться косвенной адресацией ?
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34640100
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я понял правильно, проблема в том, что в выражениях типа
Код: plaintext
x "s x=10"
и подобных создается новый контекст, который при выходе и выражения уничтожается и восстнавливается предыдущий.
Причина в PROCEDUREBLOCK. Отключайте его и пользуйтесь NEW
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34640984
FenderJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, просто не работает конструкция
s @v=str
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34640996
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подозреваю, что причина та же.
То есть при вычислении @v создается новый контекст, который затем удаляется
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34641079
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А чему у вас равна переменая v?
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34641121
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пробовал сейчас на простом примере
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
ClassMethod tmp() As %String
{
	s a= 1 
	s v="a"
	s @v= 2 
	w a
	q $$$OK
}
С ProcedureBlock=True не работает...
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34641489
FenderJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это не опасно отключать procedureBlock
Я не совсем понял для чего он нужен
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34641516
FenderJB
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще то решил проблему другим путем
из метода вызываю обычную функцию в которой выполняю это фрагмент кода
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34642662
Блок А.Н.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторА это не опасно отключать procedureBlock
он делает как-бы автоматический new для всех переменных
...
Рейтинг: 0 / 0
Косвенная адресация в методах объектов
    #34642720
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И не более того
----------
Cache for Windows NT (Intel) 5.0.20 (Build 6305) Fri Sep 16 2005 11:54:10 EDT
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Косвенная адресация в методах объектов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]