Lua shell — запуск lua/moon скриптов из командной строки
- John Doe
- Бюрократ
- Posts: 12982
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 40 times
- Been thanked: 303 times
Lua shell — запуск lua/moon скриптов из командной строки
Назначение данной утилиты — реализовать запуск lua/moon скриптов из командной строки
максимально естественным образом, наподобие команд оболочки, и наравне с ними.
Точно так же скрипты можно запускать просто по имени, не задумываясь где именно
они расположены (в текущей папке, или в любом месте PATH).
Область действия не ограничена панелями, командная строка доступна в любой области
фара, с автодополнением и историей: отовсюду можно запустить скрипт, с указанными
аргументами.
Скриптам предоставляется ряд средств, в числе которых — простое обращение к другим
скриптам доступным в PATH, что позволяет сформировать собственную экосистему,
в некотором роде альтернативную модулям Lua.
максимально естественным образом, наподобие команд оболочки, и наравне с ними.
Точно так же скрипты можно запускать просто по имени, не задумываясь где именно
они расположены (в текущей папке, или в любом месте PATH).
Область действия не ограничена панелями, командная строка доступна в любой области
фара, с автодополнением и историей: отовсюду можно запустить скрипт, с указанными
аргументами.
Скриптам предоставляется ряд средств, в числе которых — простое обращение к другим
скриптам доступным в PATH, что позволяет сформировать собственную экосистему,
в некотором роде альтернативную модулям Lua.
Lua shell — запуск lua/moon скриптов из командной строки
Latest post of the previous page:
buniak_a_h,Согласен что неясен, нo во введении описан довольно богатый функционал,
превышающий ваше простое ассоциирование, вот и хотелось взглянуть.
Там например насписано что можно передавать параметры.
А насколько мне известно, с
lua:@..
можно передать только один единственный строковый параметр? поправьте меня если я где ошибаюсь
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
-
- Posts: 2258
- Joined: Sat 20 Apr, 2013 00:17
- Location: Питер
- Has thanked: 134 times
- Been thanked: 241 times
- Contact:
Lua shell — запуск lua/moon скриптов из командной строки
Только один - да.
Строковый - нет.
Отсюда - передаю таблицу.
Например, скрипт:
Code: Select all
far.Show(unpack(...))
lua:@"C:\Temp\200902\qqq.lua" {[[C:\Temp\200902\qqq.lua]], 'qqq', math.pi}
Получаю:
Code: Select all
╔════════════════════════════╗
║ 1│ C:\Temp\200902\qqq.lua ║
║ 2│ qqq ║
║ 3│ 3.1415926535898 ║
╚═══════ 3 arguments ════════╝
Lua shell — запуск lua/moon скриптов из командной строки
buniak_a_h,
признателен за пример, полезно.
Но вот в чем еще незадача, этот метод некий нестандарт для запуска Луа-скриптов.
Во внешнем Луа-мире (что не ФАР) луа-скрипты получают таблицу аргументов
Это верно что в ФАРе мы получаем и
и так можно воссоздать этот самый
Но еще лучше было найти способ этого не делать,
т.е. без каких-либо изменений запускать Луа-скрипты справедливо ожидающие получить
я вот чего-то и подумал, что в предмете обсуждения речь шла как раз про это
признателен за пример, полезно.
Но вот в чем еще незадача, этот метод некий нестандарт для запуска Луа-скриптов.
Во внешнем Луа-мире (что не ФАР) луа-скрипты получают таблицу аргументов
arg
с параметрами, включая имя скрипта.Это верно что в ФАРе мы получаем и
_filename
, и это трехточие которое может быть таблицей, и так можно воссоздать этот самый
arg
.Но еще лучше было найти способ этого не делать,
т.е. без каких-либо изменений запускать Луа-скрипты справедливо ожидающие получить
arg
.я вот чего-то и подумал, что в предмете обсуждения речь шла как раз про это
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
-
- Posts: 2258
- Joined: Sat 20 Apr, 2013 00:17
- Location: Питер
- Has thanked: 134 times
- Been thanked: 241 times
- Contact:
Lua shell — запуск lua/moon скриптов из командной строки
Это касается только скриптов, загружающихся при загрузке макросов. Запуск через
lua:
по умолчанию ничего не передаёт (если явно не указать).Lua shell — запуск lua/moon скриптов из командной строки
buniak_a_h,
ну так тем более. иметь готовый arg (которого в ФАре из корпки просто нигде нет) было бы лучше чем не иметь его
ну так тем более. иметь готовый arg (которого в ФАре из корпки просто нигде нет) было бы лучше чем не иметь его
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
- John Doe
- Бюрократ
- Posts: 12982
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 40 times
- Been thanked: 303 times
Lua shell — запуск lua/moon скриптов из командной строки
Застрял в процессе рефакторинга, увы.
https://t.me/FarManager — Telegram чат
Lua shell — запуск lua/moon скриптов из командной строки
John Doe, Может все равно предоставить на суд общественности?
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
- John Doe
- Бюрократ
- Posts: 12982
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 40 times
- Been thanked: 303 times
Lua shell — запуск lua/moon скриптов из командной строки
Нецелесообразно.
Даже в законченном виде оно требует документации и примеров.
Документация (наполовину написанная) в процессе переделок стала не вполне актуальна.
С примерами аналогично - только часть была актуализирована.
Даже в законченном виде оно требует документации и примеров.
Документация (наполовину написанная) в процессе переделок стала не вполне актуальна.
С примерами аналогично - только часть была актуализирована.
https://t.me/FarManager — Telegram чат
Lua shell — запуск lua/moon скриптов из командной строки
Справедливости ради надо отметить что работает и со многими паметрами:
Code: Select all
-- some-script-1.lua:
local tbl_1, str_1, num_1 = ...
far.Message(num_1, _filename)
------
lua:@some-script-1.lua {a = 111, b = 222, c = 333}, "some-str-param-1", 1234567
Ну наверное "так надо", и не очень принципиально, ныть по этому поводу не буду.
А кто не поверит в наше миролюбие, / Тот кровью умоется. / И будет такая борьба за мир, / Что камня на камне не останется.
-
- Posts: 2258
- Joined: Sat 20 Apr, 2013 00:17
- Location: Питер
- Has thanked: 134 times
- Been thanked: 241 times
- Contact:
Lua shell — запуск lua/moon скриптов из командной строки
Прежде, чем ответить тогда, я проверил … Возможно, ошибся… Разделял аргументы пробелом, а надо было через запятуху писать.
Насчёт arg - не знаю. Вроде, select предоставляет полный инструменатарий для доступа к аргументам функции. От получения количества до получения аргумента по номеру
- John Doe
- Бюрократ
- Posts: 12982
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 40 times
- Been thanked: 303 times
Lua shell — запуск lua/moon скриптов из командной строки
И это есть в справке, раздел "Работа из командной строки". Найдите подходящую тему для обсуждения (или новую создайте). Тут не надо.
Корни отсюда: viewtopic.php?p=120184#p120184
Сабжевый же скрипт изначально был создан для того чтобы предоставить возможность передачи параметров не таким "Lua-путём", а более привычным способом (разделяя параметры пробелами). Это тоже обсуждалось. Например тут: viewtopic.php?p=145800#p145800
https://t.me/FarManager — Telegram чат