powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Команда Xecute
25 сообщений из 47, страница 1 из 2
[gt.m] Команда Xecute
    #39334052
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго дня !
Вопрос.
Можно каким-то образом возврат (в
виде функции) результат команды Xecute ?

Спасибо.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334055
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriuрезультат команды Xecute ?
У команд нет возвращаемых значений...

У некоторых еще можно использовать переменные окружения... Но не более того.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334056
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuМожно каким-то образом возврат (в
виде функции) результат команды Xecute ?Примеры прилагаются.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334060
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servit,

Хм.. в Каше есть то что мне надо - $Xecute
Жаль, мне в GT.M такую функцию бы ....
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334074
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriuмне в GT.M такую функцию бы ....
Она там не нужна.
Т.к. там нет процедуроблока.

Если тебе нужна именно функция с экзекютом, так вот она
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
   n
   s cmd="IF Prm2=0 s out=99 ELSE s ^testnum=Prm1/Prm2 s out=0"
   s val=$$xecute(cmd,1,0)
   w !,val
   q
xecute(Command,Prm1,Prm2)
   n out
   x Command
   q out
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334083
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
Ругается...

GTM>d GETT^FCGIZL
%GTM-E-SPOREOL, Either a space or an end-of-line was expected but not found
At M source location xecute+2^FCGIZL
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334121
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriukrvsa,
Ругается...
Пошел запускать свой ГТ.М...
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334126
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu , нужно было добавить еще пробел после ELSE ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
tmp ;;;;[ 26.10.2016 10:01 ]
  s cmd="IF Prm2=0 s out=99 ELSE  w !,Prm1/Prm2 s out=0"
  s val=$$xecute(cmd,1,0)
  w !,val
  q
xecute(Command,Prm1,Prm2)
  n out
  x Command
  q out
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334288
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa Valeriu , нужно было добавить еще пробел после ELSE ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
tmp ;;;;[ 26.10.2016 10:01 ]
  s cmd="IF Prm2=0 s out=99 ELSE  w !,Prm1/Prm2 s out=0"
  s val=$$xecute(cmd,1,0)
  w !,val
  q
xecute(Command,Prm1,Prm2)
  n out
  x Command
  q out


в данном случае после ELSE ничего никогда не будет выполняться по определению
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334293
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
Понятно, но я хотел получить другой результат...
Захват ошибки при компиляции и отправка на ВЕБ страницу.
Примерно такой:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
GET 
  s file="gl.m"
  s cmd="zl """_file_"""" 
  ;s cmd="IF Prm2=0 s out=99 ELSE  w !,Prm1/Prm2 s out=0"
  s val=$$xecute(cmd)
  w !,val
  q
xecute(Command)
  n out
  x Command
  q out
 ;
Но GT.M по своему интерпретирует это.
Как не крутил, на нулевое устройство выплевывает результат.
(Я в рутине специально ошибку допускаю)

Код: plaintext
1.
2.
3.
4.
5.
6.
GTM>D GET^FCGIZL
q  X t w " ;
^-----
At column 17, line 20, source module /usr/gtm63A/gl.m
%GTM-E-SPOREOL, Either a space or an end-of-line was expected but not found
%GTM-E-UNDEF, Undefined local variable: out
At M source location xecute+3^FCGIZL

Бьюсь уже сколько и ни вкакую.

все ровно, СПАСИБО !
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334296
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaОна там не нужна... Т.к. там нет процедуроблока.Процедуроблок тут не при чём. Функции $xecute может быть полезна в ситуациях, когда (из-за ограничений рабочей среды) есть возможность выполнить только "однострочник", но хочется при этом вернуть значение. Написать свою обёртку вокруг Xecute, как ты предлагаешь, конечно, можно, но об этом надо заранее позаботиться, а тут - готовое решение. Подобное можно сказать о многих "плюшках" Cache: $replace, $system.Event.*, etc - всё это с разной степенью лёгкости и эффективности моделируется на MUMPSe, но оно когда есть "из коробки", это удобно.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334298
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Valeriu,
пишет что не определена переменная out, к которой обращаются в строке xecute+3^FCGIZL
потому что в строке s cmd="zl """_file_"""" ее изменение не предусмотрено.поправьте код на
Код: plaintext
1.
2.
3.
xecute(Command)
  n out
  x Command
  q $g(out)
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334313
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa Valeriu , нужно было добавить еще пробел после ELSE ...
Код: plaintext
s cmd="IF Prm2=0 s out=99 ELSE  w !,Prm1/Prm2 s out=0"
Добавляя к ранее сделанному замечанию.
Если уж надо в одной строке и IF и ELSE использовать, то нужно погрузить ветку IF в X
Код: plaintext
s cmd="X ""IF Prm2=0 s out=99"" ELSE  w !,Prm1/Prm2 s out=0"
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334333
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, есть куча вариантов как использовать команду XECUTE , т.ч. просто показывайте свои варианты и не стоит критиковать мой "набросок"...
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334335
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey MaslovФункции $xecute может быть полезна в ситуациях ...
Ну нет в ГТ.М такой функции... Просто нет.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334378
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaНу нет в ГТ.М такой функции... Просто нет.Никто с этим не спорит, там много чего нет, но кое-что ненароком может и появиться; например, функции $list*. Это интересно "прогрессивной общественности"?
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334385
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovно кое-что ненароком может и появиться; например, функции $list*
Это точно? Или просто слухи?
А, то наша молодежь понавтыкать ее успела в программки в дело и без дела...
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334422
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaРебята, есть куча вариантов как использовать команду XECUTE , т.ч. просто показывайте свои варианты и не стоит критиковать мой "набросок"...
Я высказался по IF и ELSE в одной строка, тем более что "набросок" скопипастил Valeriu.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334434
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caЯ высказался по IF и ELSE в одной строка
Я понял.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334435
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaЭто точно? Или просто слухи?По-крайней мере тикет #9 $LIST functions пока не закрыт.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334439
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitПо-крайней мере тикет #9 $LIST functions пока не закрыт.
Ясно...
Одной заботой мне будет меньше.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334447
Фотография DAiMor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitkrvsaЭто точно? Или просто слухи?По-крайней мере тикет #9 $LIST functions пока не закрыт.Не думаю, что есть какой то смысл смотреть на эти тикеты там. Всего 10 тикетов, из них только один закрыт, и не потому что реализован, а просто дан ответ. С такой скоростью реализации запросов, они никогда не будут реализованы.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334457
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DAiMorС такой скоростью реализации запросов, они никогда не будут реализованы.Они уже реализованы: 12118934 .
Осталось только внедрить.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334534
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valeriukrvsa,
Понятно, но я хотел получить другой результат...
Захват ошибки при компиляции и отправка на ВЕБ страницу.


Ошибки компиляции всегда идут на stderr. Ищите способ перенаправить.
...
Рейтинг: 0 / 0
[gt.m] Команда Xecute
    #39334583
Фотография ну я
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
servitDAiMorС такой скоростью реализации запросов, они никогда не будут реализованы.Они уже реализованы: 12118934 .
Осталось только внедрить.
Интервью переехало сюда http://thedarkaugust.blogspot.ru/2016/03/blog-post_20.html
...
Рейтинг: 0 / 0
25 сообщений из 47, страница 1 из 2
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Команда Xecute
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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