lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Sat, Oct 02, 2010 at 12:20:15PM +0200, Ico wrote:
> * On 2010-10-02 Sean Conner <sean@conman.org> wrote  :
> 
> >   Okay, now I'm curious---how does one *get* a compiled Lua table?  I can
> > see how to get a Lua function (in fact, I'm doing that now, only between
> > separate Lua instances and not over a network connection) but a table?  
> 
> What about compiling a function returning the table:
> 
>   function foo()
>     return { "one", "two", "three" }
>   end
>   
>   local compiled = string.dump(foo)
> 
> and to retrieve the table do a loadstring:
> 
>   ti loadstring(compiled)()

The function can be anonymous:

  string.dump(function() return  { "one", "two", "three" } end)

I usually generate data with other languages and feed them to lua.
Simple shell example:

  cat <<EOS | luac -o data.luac -
  do
   return { "one", "two", "three" }
  end
  EOS

  lua -e 'print(dofile("data.luac")[1])'


-Gyepi