Как разделить 'rc.lua' конфигурацию Awesome на несколько файлов?

Предположение, что плагин использует тот же синтаксис в качестве Python regexp механизм: использовать \g<1>0 как текст замены.

14
21.08.2018, 03:46
2 ответа

Можно просто поместить код в отдельный файл и включать его с

dofile("somefile.lua")

Примечание: Рабочий каталог $HOME. Указывать файл относительно rc.lua можно использовать

dofile(awful.util.getdir("config") .. "/" .. "somefile.lua")

Если это - больше, чем просто некоторый код, и это могло бы использоваться другими также, могло бы иметь смысл создавать lua модуль, который может быть включен с

somemodule = require("somemodule")
11
27.01.2020, 19:51
  • 1
    Это работает в 50%, я должен указать полный путь вместо относительного пути –  kravemir 28.10.2012, 23:32
  • 2
    @Miro, посмотрите обновление. –  Marco 29.10.2012, 00:17
  • 3
    На Ubuntu Awesome требует функциональных взглядов автоматически в .config/awesome/, таким образом, можно сделать требование любого файла, Вы помещаете там. –  wdev 22.12.2013, 03:35

Для перемещения кода в другой файл Вы создаете модуль и требуете модуля в rc.lua.

Для создания модуля Вы просто звоните module (name [, ···]) в сценарии, который имеет код, Вы вышли из исходного сценария. Ссылка Lua - модуль.

Для использования модуля, Вы создали, Вы просто звоните require (modname). Ссылка Lua - требует.

Существует превосходное учебное руководство на Wiki Lua, которая объясняет это с примерами. И если Вы хотите видеть как module() действительно работы, существует статья об Игре С Lua, который запускается путем записи реализации модуля ().

5
27.01.2020, 19:51
  • 1
    Обратите внимание, что, начиная с потрясающих 3.5 lua версия была обновлена к 5,2, где module() функция удерживается от использования. Поэтому модуль должен быть присвоен переменной, как modname = require ("modname") –  crater2150 09.01.2013, 14:01

Теги

Похожие вопросы