Гость
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Косвенность в классовых методах / 5 сообщений из 5, страница 1 из 1
12.02.2013, 15:13
    #38147897
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Косвенность в классовых методах
Метод:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ClassMethod tst()
{
	S Buf=$NA(^tmp)
	K @Buf
	S @Buf="$ZV"
 	w @Buf,!
 	W @@Buf,!
 	S t=@@Buf
 	w t
}


Результат:
Код: plaintext
1.
2.
3.
4.
5.
6.
d ##class(smev.Tamplate).tst()
$ZV
Cache for Windows (x86-32) 2012.1.3 (Build 805) Mon Jul 23 2012 20:45:49 EDT
 
  S t=@@Buf
  ^
<SYNTAX>
Интересно, почему эта строка срабатывает
Код: sql
1.
W @@Buf,!


а эта нет?
Код: sql
1.
S t=@@Buf
...
Рейтинг: 0 / 0
12.02.2013, 15:29
    #38147941
Александр Коблов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Косвенность в классовых методах
Такое поведение не только в классовых методах, но и просто в терминале.
Код: sql
1.
w @@Buf

— это Argument Indirection.
Код: sql
1.
s t = @@Buf

— это Name Indirection.

Сравните, например
Код: sql
1.
w "$zv="_@@Buf,!

и
Код: sql
1.
w "$zv=",@@Buf,!



http://docs.intersystems.com/cache20122/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_operators#GCOS_operators_indirection
...
Рейтинг: 0 / 0
12.02.2013, 15:54
    #38148018
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Косвенность в классовых методах
Александр Коблов,

А, спасибо, это я зашпарился :)
...
Рейтинг: 0 / 0
12.02.2013, 16:00
    #38148040
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Косвенность в классовых методах
П.С.М. ,

5547104 logistЖивучий вопрос, поднимается регулярно ;)
...
Рейтинг: 0 / 0
12.02.2013, 16:53
    #38148160
П.С.М.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Косвенность в классовых методах
servit,

угу, спасибо
...
Рейтинг: 0 / 0
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Косвенность в классовых методах / 5 сообщений из 5, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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