title: lua how require works
body: <p>I'm using a graphics library that lets you program in Lua. I have a need for the A* pathfinding library so I found one online. It's just 1 lua file that does the pathfinding and 1 example file. In the example file it uses the object like:</p>
  
  <pre><code>-- Loading the library
  local Astar = require 'Astar'
  Astar(map,1) -- Inits the library, sets the OBST_VALUE to 1
  </code></pre>
  
  <p>I run the script and everything works. So now I add the Astar.lua file to the path location where my graphics engine is running and do the same thing and I get the error on the Astar(map, 1) line:</p>
  
  <p>"attempt to call local 'AStar' (a number value)</p>
  
  <p>Any ideas why I would be getting that error when I'm doing the same thing as the example that comes with this AStar lib?</p>
  
  <p>Here is a little of the AStar file</p>
  
  <pre><code>-- 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
  </code></pre>
  
  <p>So note that when I run this from my graphics engine it's returning 1, but when run from the example that it came with it's returning a table, which is what it should be returning. So not sure why it would only be returning 1.</p>