$ echo {a..c}{x..z}
ax ay az bx by bz cx cy cz
$ echo {{a..c},{x..z}}
a b c x y z
$ bash --version | head -1
GNU bash, version 4.4.12(3)-release (x86_64-unknown-cygwin)
Аппетит приходит во время еды.
Имеется алиас <main>. В некоторых случаях хочется добавить иногда дополнительную директорию A, а иногда B.
Если написать, <main>;A - всё работает ожидаемо. Если же написать Dir\{<main>;A} то получается чепуха. Я что-то делаю не так?
На первом уровне конструкция <main>;<extension> работает правильно. Хотелось бы иметь эту возможность и на втором (Dir\{<main>;<extension>}
Volodya wrote: Sat 31 May, 2025 00:05
Если же написать Dir\{<main>;A} то получается чепуха.
В справке написано: "вложенные перечисления недопустимы". По-видимому ваш <main> содержит перечисление.
Возможно в будущем избавимся и от этого ограничения, возможно с использованием библиотеки LPeg (встроена в LuaFAR).
Shmuel wrote: Wed 04 Jun, 2025 15:35
Сделать несколько предопределённых алиасов, к примеру: <YYYY>, <MM>, <DD> и т.д.
Ну год не часто меняется, с днем и временем как? Разве есть алиасы зависимые от текущей даты?
Кстати можно забыть про то, что я написал выше и сделать алиасы с lua expressions?
Yegor wrote: Wed 04 Jun, 2025 15:09
раз уж пошла такая "пьянка"
Седьмая версия. Алиасы могут содержать код Lua.
Пример синтаксиса в mkdir.alias: lua:date os.date("%Y-%m-%d"). В диалоге нужно указывать просто <date>.
Yegor wrote: Fri 06 Jun, 2025 00:25
Наверное это перебор, но решает все проблемы
Возможно пример не очень удачный, ибо не вижу, чем lua:testarray { "foo", "bar" } лучше чем testarray foo;bar.
Если расширять дальше, то напрашивается возможно функция-генератор, возвращающая при каждом вызове имя новой папки и nil, когда её работа окончена.
Восьмая версия. Если Lua-алиас возвращает таблицу, то она преобразуется в перечисление.
Пример: lua:test t={}; for k=10,100,7 do table.insert(t,k) end; return t