Reading from the stack

Lua provides several functions to retrieve values from the stack. The most common functions are listed here. The first argument to each of these functions is the Lua state, and the second argument is an integer, the index of the element being read:

  • int lua_toboolean(lua_State*, int): Returns true (1) or false (0).
  • lua_Number lua_tonumber(lua_State*, int): Returns a double.
  • lua_Integer lua_tointeger(lua_State*, int): Returns an integer.
  • const char* lua_tostring(lua_State*, int, size_t*): Returns a pointer to the internal Lua string. The last parameter is optional; if it's not NULL, the size of the string will be written to it.
  • size_t lua_objlen(lua_State*, int): Returns the same value as the # operator in Lua.

When calling lua_tostring, the function returns the pointer to an internal string. The return value is const, to remind you that you should not modify this value! As soon as the value is popped off the stack, that string might no longer exist. It's a bad idea to hold on to the return value of this function—instead, make a copy and store it.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.31.163