View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002390 | Wishes | Macro | public | 2013-04-20 11:20 | 2013-09-26 14:26 |
Reporter | JohnDoe | Assigned To | shmuel | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0002390: Передавать параметры скрипту, запущенному через lm:post @ | ||||
Description | Желательно включая arg[0] | ||||
Tags | No tags attached. | ||||
Build | 3680 | ||||
|
> Желательно включая arg[0] Вот это портит картину. Мне видится передача параметров не через таблицу arg, а через ... - это более элегантное и более общее решение. Принудительно впихивать имя файла первым параметром - тоже не элегантно (как и в случае с arg, это - конвенция, чего хотелось бы избежать). Мне решение видится таким: просто передавать аргументы в ... , а если надо передать имя файла, это можно сделать с вызывающей стороны, включив его как первый (хотя и не обязательно первый) аргумент. Вызывающая сторона в любом случае имя файла знает. Дело в том, что передача скрипту имени его файла, как мне кажется, нужна редко, поэтому не хотелось бы ради этого изобретать специальные механизмы и документировать их. |
|
Когда это обсуждали, JohnDoe хотел (если память не изменяет) одинакового механизма как для автоматически загружаемых скриптов из scripts, так и для вызываемых через lm:post чтобы один и тот же скрипт можно было вызывать и так и так. Но для макросов уже сделали в ... передачу имени файла файла первым параметром... |
|
При автоматической загрузке скриптов нет произвольно добавляемых аргументов, и это - большая разница. А если скрипт предполагает получение произвольных аргументов, то я предпочитаю, чтобы именно они поступали через ... , причём в естественном порядке. Как уже было сказано, имя файла можно передать в любом аргументе, если нужно. |
|
Changelog (plugin LuaMacro): > shmuel 30.06.2013 13:12:37 +0200 - build 196 > 1. Добавлена возможность вызывать скрипт-файлы с аргументами. > Это касается: MCTL_SENDSTRING, MCTL_ADDMACRO, eval, lm:post, lm:check. |
|
>просто передавать аргументы в ... , а если надо передать имя файла, это можно сделать с вызывающей стороны Передавать имя аргументом означает что делать это придётся вручную, что в ряде случаев неудобно. Распространённая задача: обработать файл лежащий рядом со скриптом. Например lua.exe позволяет получить имя скрипта (arg[0]), и таким образом можно вычислить путь. |
|
arg и arg[0] не будет. Может быть, будет переменная _ScriptName, глобальная в пределах script environment. Пока не уверен. |
|
Скрипту сделана доступной переменная _filename. Подробнее - см. в чейнжлоге плагина LuaMacro и в macroapi_manual.chm. |
Date Modified | Username | Field | Change |
---|---|---|---|
2013-04-20 11:20 | JohnDoe | New Issue | |
2013-06-28 10:56 | shmuel | Note Added: 0011210 | |
2013-06-28 10:59 | shmuel | Note Edited: 0011210 | |
2013-06-28 12:40 | Smitis | Note Added: 0011214 | |
2013-06-28 13:00 | shmuel | Note Edited: 0011210 | |
2013-06-28 13:06 | shmuel | Note Added: 0011215 | |
2013-06-30 11:23 | shmuel | Note Added: 0011221 | |
2013-06-30 11:23 | shmuel | Assigned To | => shmuel |
2013-06-30 11:23 | shmuel | Status | new => feedback |
2013-07-01 08:01 | JohnDoe | Note Added: 0011227 | |
2013-07-01 08:01 | JohnDoe | Status | feedback => assigned |
2013-07-01 09:13 | shmuel | Note Added: 0011228 | |
2013-09-24 12:24 | shmuel | Note Added: 0011448 | |
2013-09-24 12:24 | shmuel | Status | assigned => feedback |
2013-09-26 14:26 | shmuel | Build | => 3680 |
2013-09-26 14:26 | shmuel | Status | feedback => closed |
2013-09-26 14:26 | shmuel | Resolution | open => fixed |
2013-09-26 14:26 | shmuel | Fixed in Version | => 3.0 |