powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / $INCREMENT
7 сообщений из 7, страница 1 из 1
$INCREMENT
    #34262512
Stpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а есть какоето разумное объяснение почему для увеличения Х нельзя писать просто
Код: plaintext
$INCREMENT(X)
вместо этого результат надо кудато девать, например
Код: plaintext
SET dummy=$INCREMENT(X)

спрашиваю т.к. это наверное будет касаться и других мест
...
Рейтинг: 0 / 0
$INCREMENT
    #34262565
Sergei Obrastsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stplа есть какоето разумное объяснение почему для увеличения Х нельзя писать просто
Код: plaintext
$INCREMENT(X)
вместо этого результат надо кудато девать, например
Код: plaintext
SET dummy=$INCREMENT(X)

спрашиваю т.к. это наверное будет касаться и других местСмотря в каком контексте. Конечно просто "$i(X)" без команды работать не будет, а вот "write $i(X)" уже да.
А вообще бы не рекомендовал использовать, в глаза не бросается, логически неявна,
все ж таки "set X=X+1" лучше. Я уже молчу про выкрутасы типа
Код: plaintext
1.
set ^ttt($i(X),$i(Y))=$i(Z)
...
Рейтинг: 0 / 0
$INCREMENT
    #34262573
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stplа есть какоето разумное объяснение почему для увеличения Х нельзя писать просто
Код: plaintext
$INCREMENT(X)
вместо этого результат надо кудато девать, например
Код: plaintext
SET dummy=$INCREMENT(X)

спрашиваю т.к. это наверное будет касаться и других мест

Нет никакого разумной причины так не делать. $I используется,в том числе, для счетчиков ID, не откатывается по ролбэку, - и в структуре это выражение вида $INCREMENT(X). Не строка кода, а выражение - которе должно вернуть значение.

А для простого инкримента никто не мешает set x=x+1 использовать.
...
Рейтинг: 0 / 0
$INCREMENT
    #34262645
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Stplа есть какоето разумное объяснение почему для увеличения Х нельзя писать просто
Код: plaintext
$INCREMENT(X)
вместо этого результат надо кудато девать, например
Код: plaintext
SET dummy=$INCREMENT(X)

спрашиваю т.к. это наверное будет касаться и других мест
В М исполняется команда а не выражение, а $i() это выражение.
Если результат не нужен, можно писать просто i $i(), но это взводит $t
...
Рейтинг: 0 / 0
$INCREMENT
    #34262658
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sergei Obrastsov Stplа есть какоето разумное объяснение почему для увеличения Х нельзя писать просто
Код: plaintext
$INCREMENT(X)
вместо этого результат надо кудато девать, например
Код: plaintext
SET dummy=$INCREMENT(X)

спрашиваю т.к. это наверное будет касаться и других местСмотря в каком контексте. Конечно просто "$i(X)" без команды работать не будет, а вот "write $i(X)" уже да.
А вообще бы не рекомендовал использовать, в глаза не бросается, логически неявна,
все ж таки "set X=X+1" лучше. Я уже молчу про выкрутасы типа
Код: plaintext
1.
set ^ttt($i(X),$i(Y))=$i(Z)

В М с выкрутасами как раз все железно, никаких неопределенных поведений, все вычисляется слева направо. Сначала инкремент X, потом Y, потом Z, потом присвоение.
...
Рейтинг: 0 / 0
$INCREMENT
    #34262665
Stpl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну яВ М исполняется команда а не выражение, а $i() это выражение.
О, точно! спасибо!
...
Рейтинг: 0 / 0
$INCREMENT
    #34262703
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну яЕсли результат не нужен, можно писать просто i $i(), но это взводит $t
Есть еще вариант без побочного эффекта с $t - вписать $i() в постусловие како-нибудь команды так чтобы оно никогда не было верным, например
w:$i(glvn)'=""
Поскольку $i всегда вернет число, оно не будет пустой строкой. А при вычислении постусловий $t не меняется.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / $INCREMENT
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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