Lua – Data Types

  • Post author:
  • Post category:Lua
  • Post comments:0 Comments
Lua Data types

In this topic we will discuss about Lua – Data Lua is a dynamically typed language, so the variables don’t have types, only the values have types. Values can be stored in variables, passed as parameters and returned as results.

In Lua, though we don’t have variable data types, but we have types for the values. The list of data types for values are given below.

Sr.NoValue Type & Description
1nil Used to differentiate the value from having some data or no(nil) data.
2boolean Includes true and false as values. Generally used for condition checking.
3number Represents real(double precision floating point) numbers.
4string Represents array of characters.
5function Represents a method that is written in C or Lua.
6userdata Represents arbitrary C data.
7thread Represents independent threads of execution and it is used to implement coroutines.
8table Represent ordinary arrays, symbol tables, sets, records, graphs, trees, etc., and implements associative arrays. It can hold any value (except nil).

Type Function

In Lua, there is a function called ‘type’ that enables us to know the type of the variable. Some examples are given in the following code

print(type("What is my type"))   --> string
t = 10

print(type(5.8*t))               --> number
print(type(true))                --> boolean
print(type(print))               --> function
print(type(nil))                 --> nil
print(type(type(ABC)))           --> string

When you build and execute the above program, it produces the following result on Linux −

string
number
boolean
function
nil
string

By default, all the variables will point to nil until they are assigned a value or initialized. In Lua, zero and empty strings are considered to be true in case of condition checks. Hence, you have to be careful when using Boolean operations. We will know more using these types in the next chapters.

Next Topic : Click Here

Leave a Reply