lua-users home
lua-l archive

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


2012/6/27 Michal Kottman <k0mpjut0r@gmail.com>:
> On 27 June 2012 08:58, Alexander R. <dotnot@lavabit.com> wrote:
>> I'm afraid it's a language problem as my English is not perfect, but do I
>> get this right: A chunk in Lua is everything, each piece of code that gets
>> executed by Lua is called so, no matter if it's a 50-line-function or a
>> single association, et cetera?
>
> Each "thing" you compile using the "load" family of functions - i.e.
> luaL_loadbuffer, luaL_loadstring, luaL_loadfile from the C API and
> load, loadfile, loadstring from the Lua API - is understood as a
> "chunk" and is compiled as if it were a function (without the
> "function (...)" header).

Way I see it, a character string `P` is a chunk if and only if the first
return value of

        loadstring(P)

is not nil, otherwise `P` is garbage.  Whether it is just one statement
or a 5000-line program.  ("garbage" and "chunk" may differ by only one
character.) (It is `load(P)` in 5.2 but for the moment `loadstring`
still works.)