lua_replace

lua_replace[-1, +0, –] void lua_replace (lua_State *L, int index); Moves the top element into the given valid index without shifting any element (therefore replacing the value at that given index), and then pops the top element.

lua_remove

lua_remove[-1, +0, –] void lua_remove (lua_State *L, int index); Removes the element at the given valid index, shifting down the elements above this index to fill the gap. This function cannot be called with a pseudo-index, because a pseudo-index is not an actual stack position.

lua_register

lua_register[-0, +0, e] void lua_register (lua_State *L, const char *name, lua_CFunction f); Sets the C function f as the new value of global name. It is defined as a macro: #define lua_register(L,n,f) \ (lua_pushcfunction(L, f), lua_setglobal(L, n))

lua_Reader

lua_Reader typedef const char * (*lua_Reader) (lua_State *L, void *data, size_t *size); The reader function used by lua_load. Every time it needs another piece of the chunk, lua_load calls the reader, passing along its data parameter. The reader must return a pointer to a block of memory with a new piece of the chunk and set size to the block size. The block must exist until the reader function is called again. To signal

lua_rawsetp

lua_rawsetp[-1, +0, m] void lua_rawsetp (lua_State *L, int index, const void *p); Does the equivalent of t[p] = v, where t is the table at the given index, p is encoded as a light userdata, and v is the value at the top of the stack. This function pops the value from the stack. The assignment is raw, that is, it does not invoke __newindex metamethod.

lua_rawseti

lua_rawseti[-1, +0, m] void lua_rawseti (lua_State *L, int index, lua_Integer i); Does the equivalent of t[i] = v, where t is the table at the given index and v is the value at the top of the stack. This function pops the value from the stack. The assignment is raw, that is, it does not invoke the __newindex metamethod.

lua_rawset

lua_rawset[-2, +0, m] void lua_rawset (lua_State *L, int index); Similar to lua_settable, but does a raw assignment (i.e., without metamethods).

lua_rawlen

lua_rawlen[-0, +0, –] size_t lua_rawlen (lua_State *L, int index); Returns the raw "length" of the value at the given index: for strings, this is the string length; for tables, this is the result of the length operator ('#') with no metamethods; for userdata, this is the size of the block of memory allocated for the userdata; for other values, it is 0.

lua_rawgetp

lua_rawgetp[-0, +1, –] int lua_rawgetp (lua_State *L, int index, const void *p); Pushes onto the stack the value t[k], where t is the table at the given index and k is the pointer p represented as a light userdata. The access is raw; that is, it does not invoke the __index metamethod. Returns the type of the pushed value.

lua_rawgeti

lua_rawgeti[-0, +1, –] int lua_rawgeti (lua_State *L, int index, lua_Integer n); Pushes onto the stack the value t[n], where t is the table at the given index. The access is raw, that is, it does not invoke the __index metamethod. Returns the type of the pushed value.