Se ho una struttura di file come questo:carico Lua-files dal percorso relativo
./main.lua
./mylib/mylib.lua
./mylib/mylib-utils.lua
./mylib/mylib-helpers.lua
./mylib/mylib-other-stuff.lua
Da main.lua
il file mylib.lua
può essere caricato con il percorso completo require('mylib.mylib')
. Ma all'interno di mylib.lua
vorrei anche caricare altri moduli necessari e non mi sento di specificare sempre il percorso completo (ad esempio mylib.mylib-utils
). Se mai dovessi decidere di spostare la cartella avrò molta ricerca e sostituzione. C'è un modo per usare solo la parte relativa del percorso?
UPD. Sto usando Lua con Corona SDK, se questo è importante.
Grazie, ha funzionato per il caricamento dei file. Ma quando accedo alle proprietà pubbliche del modulo ho ancora bisogno di specificare il percorso completo (ad es. 'Lib.foo.bar.some_value'). – RocketR
Che non ha nulla a che fare con il caricamento dei file; riflette semplicemente come hai scelto di strutturare la tua Lua.È possibile (ad esempio) restituire una tabella su ogni richiesta e archiviarla in una variabile locale: 'local baz = require (folderOfThisFile .. 'baz')' e quindi fare 'baz.some_value' – kikito
Cool, non l'ho fatto sapere che le funzioni esterne di "..." sono la stringa utilizzata per richiedere il file. –