RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Rexx возврат вывода от внешней программы в переменную.


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : ???
To : dbanet
Subj : Rexx возврат вывода от внешней программы в переменную.

> > > > Но, имхо не красиво. Хотелось бы обойтись без темповских файлов. Такое возможно?
> > > Слышать такие вопросы от энтузиаста от рекса? Обескураживает.
> > Я ведь не все знаю и не всем пользуюсь. До настоящего момента мне это было не нужно. Но где-то читал что можно. Поиск по инету результата не дал, вот решил спросить.
>
> Настолько высокая кривость получения вывода внешней программы в рексе делает тошнотворный язык скриптов bash гораздо более привлекательным и сподручным для выполнения рядовых задач.

В чем кривость? В баше действительно, неявно текстовый вывод программы неявно преобразуется в список слов: dir=`ls`, по которому можно проходить циклом. Разделителем является пробелб вместо конца строки. В рекксе с очередями работают через push/pull/pop -- можно как в стеке, а можно как в очереди. Единственное неудобство -- если пользоваться глобальной очередью, то, как я понимаю, разные подпрограммы не должны работать одновременно с глобальной очередью -- они друг с другом будут пересекаться. Я точно не знаю, но возможно, там можно сделать изоляцию при помощи expose. Или, пользоваться не-дефолтной очередью.

ЗЫ: А баш несколько коряв, но с ним достаточно приятно работать, юзая нормальный стиль написания кода. Кстати, там много вкусностей, типа запуска процедуры в отдельном процессе и общения с другой процедурой через пайп. Но главная корявость -- походу, там все переменные глобальные! Поэтому там либо назначать им префиксы, либо следить, чтобы разные переменные не юзались в разных процедурах.

Sun 03 Aug 2014 08:34 Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131030 Fire




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.