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

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

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

Хм.. в Каше есть то что мне надо - $Xecute
Жаль, мне в GT.M такую функцию бы ....
...
Рейтинг: 0 / 0
26.10.2016, 08:49
    #39334074
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
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
26.10.2016, 09:02
    #39334083
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
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
26.10.2016, 09:57
    #39334121
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
Valeriukrvsa,
Ругается...
Пошел запускать свой ГТ.М...
...
Рейтинг: 0 / 0
26.10.2016, 10:02
    #39334126
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
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
26.10.2016, 12:16
    #39334288
gluconat_ca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
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
26.10.2016, 12:20
    #39334293
Valeriu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
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
26.10.2016, 12:25
    #39334296
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
krvsaОна там не нужна... Т.к. там нет процедуроблока.Процедуроблок тут не при чём. Функции $xecute может быть полезна в ситуациях, когда (из-за ограничений рабочей среды) есть возможность выполнить только "однострочник", но хочется при этом вернуть значение. Написать свою обёртку вокруг Xecute, как ты предлагаешь, конечно, можно, но об этом надо заранее позаботиться, а тут - готовое решение. Подобное можно сказать о многих "плюшках" Cache: $replace, $system.Event.*, etc - всё это с разной степенью лёгкости и эффективности моделируется на MUMPSe, но оно когда есть "из коробки", это удобно.
...
Рейтинг: 0 / 0
26.10.2016, 12:27
    #39334298
ну я
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
Valeriu,
пишет что не определена переменная out, к которой обращаются в строке xecute+3^FCGIZL
потому что в строке s cmd="zl """_file_"""" ее изменение не предусмотрено.поправьте код на
Код: plaintext
1.
2.
3.
xecute(Command)
  n out
  x Command
  q $g(out)
...
Рейтинг: 0 / 0
26.10.2016, 12:48
    #39334313
gluconat_ca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
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
26.10.2016, 13:15
    #39334333
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
Ребята, есть куча вариантов как использовать команду XECUTE , т.ч. просто показывайте свои варианты и не стоит критиковать мой "набросок"...
...
Рейтинг: 0 / 0
26.10.2016, 13:16
    #39334335
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
Alexey MaslovФункции $xecute может быть полезна в ситуациях ...
Ну нет в ГТ.М такой функции... Просто нет.
...
Рейтинг: 0 / 0
26.10.2016, 13:47
    #39334378
Alexey Maslov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
krvsaНу нет в ГТ.М такой функции... Просто нет.Никто с этим не спорит, там много чего нет, но кое-что ненароком может и появиться; например, функции $list*. Это интересно "прогрессивной общественности"?
...
Рейтинг: 0 / 0
26.10.2016, 13:53
    #39334385
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
Alexey Maslovно кое-что ненароком может и появиться; например, функции $list*
Это точно? Или просто слухи?
А, то наша молодежь понавтыкать ее успела в программки в дело и без дела...
...
Рейтинг: 0 / 0
26.10.2016, 14:33
    #39334422
gluconat_ca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
krvsaРебята, есть куча вариантов как использовать команду XECUTE , т.ч. просто показывайте свои варианты и не стоит критиковать мой "набросок"...
Я высказался по IF и ELSE в одной строка, тем более что "набросок" скопипастил Valeriu.
...
Рейтинг: 0 / 0
26.10.2016, 14:46
    #39334434
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
gluconat_caЯ высказался по IF и ELSE в одной строка
Я понял.
...
Рейтинг: 0 / 0
26.10.2016, 14:46
    #39334435
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
krvsaЭто точно? Или просто слухи?По-крайней мере тикет #9 $LIST functions пока не закрыт.
...
Рейтинг: 0 / 0
26.10.2016, 14:47
    #39334439
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
servitПо-крайней мере тикет #9 $LIST functions пока не закрыт.
Ясно...
Одной заботой мне будет меньше.
...
Рейтинг: 0 / 0
26.10.2016, 14:53
    #39334447
DAiMor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
servitkrvsaЭто точно? Или просто слухи?По-крайней мере тикет #9 $LIST functions пока не закрыт.Не думаю, что есть какой то смысл смотреть на эти тикеты там. Всего 10 тикетов, из них только один закрыт, и не потому что реализован, а просто дан ответ. С такой скоростью реализации запросов, они никогда не будут реализованы.
...
Рейтинг: 0 / 0
26.10.2016, 14:57
    #39334457
servit
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
DAiMorС такой скоростью реализации запросов, они никогда не будут реализованы.Они уже реализованы: 12118934 .
Осталось только внедрить.
...
Рейтинг: 0 / 0
26.10.2016, 15:44
    #39334534
gluconat_ca
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[gt.m] Команда Xecute
Valeriukrvsa,
Понятно, но я хотел получить другой результат...
Захват ошибки при компиляции и отправка на ВЕБ страницу.


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


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