четверг, 24 мая 2012 г.

Corona SDK - include файлов

Казалось бы, проста вещь, как инклуд файлов, но либо в lua (в рамках Corona SDK) это сделано через жопу, либо мои рефлексы, выработанные при программировании на других языках, не дают мне понять всё изящество этого решения.

Ну так вот имеем файл main.lua и utils.lua
в utils.lua пишем:

module(..., package.seeall)
function hello()
        print ("Hello, module")
end
и подключаем в main.lua и вызываем метод модуля:

require ("utils");
utils.hello();
Должен заметить, что это всё будет работать, только если файлы лежат в одной директории и на одном и том же уровне. Я же, изначально положил utils.lua в созданную папку modules и выхватил проблем, которые решились так:


в utils.lua пишем:

module('utils', package.seeall)
function hello()
        print ("Hello, module")
end
, так как в прошлом бы случае ... было бы равно = modules/utils, а вызовы типа:
modules.utils.hello() или
modules/utils.hello()
результата не дают, пришлось явно задать имя модуля.

http://developer.anscamobile.com/reference/index/packageseeall