powered by simpleCommunicator - 2.0.37     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Обращение к другой глобальной директории ||
38 сообщений из 38, показаны все 2 страниц
[gt.m] Обращение к другой глобальной директории ||
    #39137831
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вызвать программу из другой глобальной директории?
Синтаксис
Код: plaintext
 d test^|myGld|PRG
Дает синтаксическую ошибку при компиляции.

Но с глобалами таки работает
Код: plaintext
 w $d(^|myGld|GLB)
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39137863
Onix_гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

синтаксическая ошибка, вроде наоборот надо:

d test^routine|razdel|(par...)
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39137882
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Onix_гостьсинтаксическая ошибка, вроде наоборот надо:
Код: vbnet
1.
d test^routine|razdel|(par...)


Неее. Так то же не работает.

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
tmp ;;;;[ 25.12.2015 10:49 ]
	n
	w !,"Test"
	q
TEST
	d test^TEST|"test"|
	q
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39137886
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Та же ошибка при компиляции

Код: vbnet
1.
2.
3.
4.
5.
GTM>d ^tmp
                d test^TEST|"test"|
                           ^-----
                At column 13, line 6, source module /srv/bd/r/tmp.m
%GTM-E-SPOREOL, Either a space or an end-of-line was expected but not found
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39137893
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Onix_гостьвроде наоборот надо
В МСМ и Каше имя кипа-тома или области должно идти именно после "крышки"...
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39137928
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Читаем http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/webhelp/content/ch06s03.html] The GT.M Programmer's Guide. Do Command и... где мы там такое видим?
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39138323
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Тут только переменная $zrou поможет
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139288
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovгде мы там такое видим?
Я х/з чего там видно... По аглицки не мастак. Потому и спрашиваю:
- Как вызвать программу из другой глобальной директории?
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139290
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999Тут только переменная $zrou поможет
Каким образом? Примерчик есть какой-то?
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139310
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,
Да какой примерчик... примерно так
Код: javascript
1.
2.
3.
4.
s zrou=$zrou  ;запоминаем старый $zrou
s $zrou="/путь" ; указываем новый $zrou
d ^test   ; выполняем программу в этой директории
s $zrou=zrou ;возвращаем старый

тут только один момент - при возникновении ошибки в ^test обработчик ошибки должен
выполнить последнюю строку - иначе так и останется $zrou измененный
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139314
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsa,
Зачем ?
Вы указываете в переменных окружения
каталог где находятся ваша программа (хоть сто директорий с прогами ...)
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139319
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может и не прав ..
Поспешил.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139320
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валерий, разница есть
Если в имена программ в каталогах совпадают
то будет выполнятся та которая найдется первой в последовательности
каталогов gtmroutines
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139322
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999,
Согласен.
Здесь как и Вы говорили все четко описано
http://tinco.pair.com/bhaskar/gtm/doc/books/pg/UNIX_manual/webhelp/content/ch08s50.html
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139338
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaAlexey Maslovгде мы там такое видим?
Я х/з чего там видно... По аглицки не мастак. Потому и спрашиваю:
- Как вызвать программу из другой глобальной директории?

Говоря строго - никак.
Глобальная директория в gt.m это файл в котором описывается "маппинг" имен глобал(ов,ей) на файлы. Так что к программам никакого отношения не имеет.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139536
Alexey Maslov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caГлобальная директория в gt.m это файл в котором описывается "маппинг" имен глобал(ов,ей) на файлы. Так что к программам никакого отношения не имеет.Вот именно. Вопрос ТС вызван, скорее всего, тем, что он ожидает, что программа, вызванная из другого каталога, будет работать с базой, которая в нём же и лежит (по аналогии с MSM, Cache). А она не будет, она будет продолжать работать с той (теми) базами, на которые указывает глобальная директория, определённая в переменной окружения.

krvsa, простите за мой французский, не знал, что строки формального описания языка:
Код: javascript
1.
D[O][:tvexpr] [entryref[(expr|.lvn[,...])][:tvexpr][,...]]

- это тоже английский.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139538
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В продолжении ответа.
Так как вопрос был задан без учёта реалий gt.m, то искать ответ нужно в пересмотре своей потребности. А простое решение можно найти чисто "организационным" путём - соответствующим образом обустроив место для программ, как исходных текстов, так и исполняемых объектных кодов, с переименованием некоторых программ, в случае конфликта имён.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139615
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Меня тоже убивает позиция ТС
- документацию просто не читаем
- задаем вопросы, в общем-то стыдные - см пункт 1
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139751
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999примерно так
Это подземный ход на чердак.
Таким аллюром можно просто перейти в другую ГД и запустить программу, потом вернуться.

Весь интерес в том, что есть ли возможность без перехода запускать программы как в МСМ и Каше...
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139752
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Maslovпростите за мой французский, не знал, что строки формального описания языка:
Код: javascript
1.
D[O][:tvexpr] [entryref[(expr|.lvn[,...])][:tvexpr][,...]]

- это тоже английский.
Прощаю.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139754
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrew000999Меня тоже убивает позиция ТС
- документацию просто не читаем
- задаем вопросы, в общем-то стыдные - см пункт 1
Ну глуп, Ваше Сиятельство, глуп! Вот решил поспрошать знающих и читающих... А тут видал какая агрессия.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139755
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caГоворя строго - никак.
Вполне понятный ответ.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139766
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaВесь интерес в том, что есть ли возможность без перехода запускать программы как в МСМ и Каше...
А как в МСМ и Каше запускать без перехода, по DO, не %-ные программы?
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139775
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsagluconat_caГоворя строго - никак.
Вполне понятный ответ.
Создаётся впечатление, что не весь ответ был прочитан, а только процитированное.
Повторяю вторую часть ответа:
"Глобальная директория в gt.m это файл в котором описывается "маппинг" имен глобал(ов,ей) на файлы. Так что к программам никакого отношения не имеет."
Поясню:
Нет такого понятия - переход в другую глобальную директорию для запуска программы.
Для указания где искать код (объектный и исходный) в gt.m используется механизм, никакого отношения к глобальным директориям не имеющий.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139795
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Продолжение.
В 2-х словах о механизме.
Пути поиска объектного и исходного кода описаны во внутренней переменной $ZROutines, которая инициализируется при старте gt.m из переменной окружения 'gtmroutines'. $ZRO доступна для записи, так что можно "на лету" менять пути поиска.
В строке значении $ZRO допустимо использовать:
любые переменные окружения(естественно доступные),
'.' - ссылку на текущий каталог (не путать с гл.дир.!),
'..' - ссылку на родительский.
Доступ к %-ным программам так же в рамках этого механизма.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139803
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caА как в МСМ и Каше запускать без перехода, по DO, не %-ные программы?
Дык

Код: vbnet
1.
d LABEL^|"область"|PRG
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139804
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caНет такого понятия - переход в другую глобальную директорию
Такого понятия так же нет?
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139808
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caПути поиска объектного и исходного кода описаны во внутренней переменной $ZROutines, которая инициализируется при старте gt.m из переменной окружения 'gtmroutines'. $ZRO доступна для записи, так что можно "на лету" менять пути поиска.
Я это понял.
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139825
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsagluconat_caА как в МСМ и Каше запускать без перехода, по DO, не %-ные программы?
Дык

Код: vbnet
1.
d LABEL^|"область"|PRG


В MSM такого нет. В Каше не знаю, в доках не видел : )
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139832
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caВ MSM такого нет.
В Мамсе точно есть.
Только там вместо области указывается КИП и ТОМ. Но не помню через запятую или через двоеточие...

gluconat_caВ Каше не знаю, в доках не видел : )
Это всегда можно исправить.

В описании команды DO
Документация ^routine
The name of a routine that resides on disk. The system loads the routine from disk and begins execution at the first executable line of the routine. Must be a literal value; a variable cannot be used to specify routine. (Note that the ^ character is a separator character, not part of the routine name.) If the routine is not in the current namespace, you can specify the namespace that contains the routine using an extended routine reference, as follows: ^|"namespace"|routine .

И пример там есть...

Код: vbnet
1.
2.
ZNSPACE "USER"
DO ^|"SAMPLES"|fibonacci
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139838
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsaВ Мамсе точно есть.
А может это уже я что-то путаю...
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139847
servit
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
krvsakrvsaВ Мамсе точно есть. А может это уже я что-то путаю... Документация: M Language Differences Notes: Square brackets ( [] ) not supported from routines — use vertical bars instead ( || ). And, MSM’s UCI and VOL values must be changed to namespace and system values, respectively. Or, eliminate routine extended references and use namespace routine mapping (Preferred).

источник
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139920
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно учитывать, что по сравнении с другими реализациям М систем,
где рутины также хранятся в самой БД как и глобали их можно вызвать по
расширенной ссылки , а в GT.M они как видите
хранятся в отдельных файлах самой операционной системе Linux.
Отсюда и такой подход к вызовам рутин с другой области (хотя такого понятие в GT.M отсутствует)

Остается 3 варианта
1. Как посоветовал andrew000999
2. Описать их в переменную окружения (пример) gtmroutines="/home/databallet/o(/home/databallet/r) /usr/gtm62a"; export gtmroutines
3. Описать их как "процентные" в (пример )gtm_dist="/usr/gtm62a"; export gtm_dist
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139944
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А тема уже один раз обсуждалась на форуме ...
14521537
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39139974
gluconat_ca
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsaВ описании команды DO
Документация ^routine
The name of a routine that resides on disk. The system loads the routine from disk and begins execution at the first executable line of the routine. Must be a literal value; a variable cannot be used to specify routine. (Note that the ^ character is a separator character, not part of the routine name.) If the routine is not in the current namespace, you can specify the namespace that contains the routine using an extended routine reference, as follows: ^|"namespace"|routine .



Не ожидал англицкого в ответе. В следующий раз отмазка от бусурманщины не прокатит. :)
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39140315
andrew000999
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята, давайте жить дружно....
квалификация ТС сомнений не вызывает
.....
проблема поставленная ТС по другому как описанная мной не решается
мы все не без греха
бывает
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39140439
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gluconat_caНе ожидал англицкого в ответе.
Дык не мое...
...
Рейтинг: 0 / 0
[gt.m] Обращение к другой глобальной директории ||
    #39140440
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriuОстается 3 варианта
1. Как посоветовал andrew000999
2. Описать их в переменную окружения (пример) gtmroutines="/home/databallet/o(/home/databallet/r) /usr/gtm62a"; export gtmroutines
3. Описать их как "процентные" в (пример )gtm_dist="/usr/gtm62a"; export gtm_dist
Нас пока устраивает лишь вариант с использованием $zro...
...
Рейтинг: 0 / 0
38 сообщений из 38, показаны все 2 страниц
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / [gt.m] Обращение к другой глобальной директории ||
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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