Hogyan lehet szétválasztani a Félelmetes ' s `rc.lua` konfigurációt több fájlba?

Éppen a Félelmetes WM-hez költöztem az OpenBox-ból. Tetszik, hogy nagyon bővíthető, testreszabható, és hatalmas irányításom van az ablak elrendezésével kapcsolatban. Szeretem a strukturált és rendszerezett dolgokat, és ezt a hatalmas .config/awesome/rc.lua konfigurációt több fájlba szeretném szétválasztani.

Válasz

Egyszerűen beillesztheti a kódot egy külön fájlba, és beillesztheti a következőbe:

dofile("somefile.lua") 

Megjegyzés: A munkakönyvtár $HOME. A rc.lua relatív fájl megadásához használhatja a

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

Ha ez nem csupán egy valamilyen kód , és mások is használhatják, akkor lehet értelme létrehozni egy lua modult, amely a

somemodule = require("somemodule") 

Megjegyzések

  • 50% -ban működik, a teljes elérési utat kell megadnom a relatív elérési út helyett
  • @Miro javítva, lásd a frissítést.
  • Ubuntuban a Awesome ' s function funkció megköveteli, hogy a .config / awesome / fájlban automatikusan megjelenjen, így bármilyen fájlt megkövetelhet tedd oda.

Válasz

A kód másik fájlba való áthelyezéséhez létrehoz egy modult, és az rc.lua-ra szüksége van a modulra.

Modul létrehozásához egyszerűen hívja a module (name [, ···]) abban a szkriptben, amelynek kódja van, amelyet kihúzott az eredeti szkriptből. Lua referencia – modul .

Az Ön által létrehozott modul használatához egyszerűen hívja a require (modname) . Lua hivatkozás – szükséges .

A Lua wikiben van egy kiváló oktatóanyag , amely ezt példákkal magyarázza. És ha meg szeretné tudni, hogy a module() hogyan működik, van egy cikk a Play With Lua-ról , amely írásból indul. a modul () megvalósítása.

Megjegyzések

  • Ne feledje, hogy a awesome-3.5-től kezdődően a lua verzió 5.2-re frissült, ahol a module() függvény elavult. Ezért a modult hozzá kell rendelni egy változóhoz, például modname = require ("modname")

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük