lua как требовать работает

Я использую графическую библиотеку, которая позволяет вам программировать на Lua. Мне нужна библиотека поиска пути A *, поэтому я нашел ее онлайн. Это всего лишь 1 файл lua, который выполняет поиск пути, и 1 файл примера. В файле примера он использует такой объект, как:

-- Loading the library
local Astar = require 'Astar'
Astar(map,1) -- Inits the library, sets the OBST_VALUE to 1

Я запускаю сценарий, и все работает. Итак, теперь я добавляю файл Astar.lua в путь, по которому работает мой графический движок, и делаю то же самое, и я получаю сообщение об ошибке в строке Astar (map, 1):

«попытка вызвать локальный 'AStar' (числовое значение)

Есть идеи, почему я получаю эту ошибку, когда делаю то же самое, что и пример из этой библиотеки AStar?

Вот небольшой фрагмент файла AStar

-- The Astar class
local Astar = {}
setmetatable(Astar, {__call = function(self,...) return self:init(...) end})
Astar.__index = Astar

-- Loads the map, sets the unwalkable value, inits pathfinding
function Astar:init(map,obstvalue)
    self.map = map
        self.OBST_VALUE = obstvalue or 1
    self.cList = {}
    self.oList = {}
    self.initialNode = false
    self.finalNode = false
    self.currentNode = false
    self.path = {}
    self.mapSizeX = #self.map[1]
    self.mapSizeY = #self.map
end

Итак обратите внимание, что когда я запускаю это из своего графического движка, он возвращает 1, но при запуске из примера, который он прилагается, он возвращает таблицу, которую он должен возвращать. Поэтому не уверен, почему он будет возвращать только 1.

10
задан user441521 1 August 2011 в 18:42
поделиться