Lua datatypes: Difference between revisions

From wikinotes
(Created page with "= Documentation = <blockquote> {| class="wikitable" |- | |- |} </blockquote><!-- Documentation --> = Primitives = <blockquote> == Nil == <blockquote> * <code>nil</code> is the absence of a value * <code>nil</code> within a table represents an absent key <syntaxhighlight lang="lua"> nil </syntaxhighlight> </blockquote><!-- Nil --> == Boolean == <blockquote> <syntaxhighlight lang="lua"> true false </syntaxhighlight> </blockquote><!-- Boolean --> == Number == <blockquot...")
 
 
(4 intermediate revisions by the same user not shown)
Line 52: Line 52:
<blockquote>
<blockquote>
Represents a block of raw memory.<br>
Represents a block of raw memory.<br>
Passed as a reference.<br>
* full userdata -- an object with a block of memory managed by lua
* full userdata -- an object with a block of memory managed by lua
* light userdata -- a C pointer value
* light userdata -- a C pointer value
Line 58: Line 59:
== Thread ==
== Thread ==
<blockquote>
<blockquote>
 
Passed as a reference.
</blockquote><!-- Thread -->
</blockquote><!-- Thread -->
</blockquote><!-- Primitives -->
</blockquote><!-- Primitives -->
Line 66: Line 67:
== Table ==
== Table ==
<blockquote>
<blockquote>
Associative arrays (keys may be numbers, or any lua value except nil)
Associative arrays, passed as references to an object.
* keys any lua value, except nil (including functions)
* values may be any lua value, except nil
</blockquote><!-- Table -->
</blockquote><!-- Table -->
</blockquote><!-- Collections -->
</blockquote><!-- Collections -->

Latest revision as of 20:46, 11 February 2024

Documentation

Primitives

Nil

  • nil is the absence of a value
  • nil within a table represents an absent key
nil

Boolean

true
false

Number

A single type number represents both 64-bit integers/floats.

123
123.4

String

An immutable byte-sequence, encoding-agnostic.
All strings must fit iwthin a single integer.

Function

Lua can call native lua, and C functions.

UserData

Represents a block of raw memory.
Passed as a reference.

  • full userdata -- an object with a block of memory managed by lua
  • light userdata -- a C pointer value

Thread

Passed as a reference.

Collections

Table

Associative arrays, passed as references to an object.

  • keys any lua value, except nil (including functions)
  • values may be any lua value, except nil