Type checking

Lua doesn't care what type of data a variable has.

data = 12
data = "hello"
data = true

To this end, we can use the type function to check what kind of data a variable is holding.

type(data)
=> boolean

We can check the type of function:

type(string.reverse)
type(type)

We can also use it to check what type of data a function is returning back to us:

type(string.reverse("hello"))
=> string
type(type(12))
=> string

Converting data types

We've already seen data type conversion previously when we took numbers and an operation in, transforming that into a true or false statement.

type(12 > 3)
=> boolean

There are also ways to convert between numbers and strings using tonumber and tostring.

number = tonumber("24")
print(type(number))
string = tostring(number)
print(type(string))
number
string

Interesting but maybe less useful, you can convert other data types to string:

print(tostring("already a string"))
print(tostring(true))
print(tostring(nil))
print(tostring(tostring))

Exercises

  • Which of these strings can be converted to a number successfully? "001", "7.12000", " 5 ", "1,943"

results matching ""

    No results matching ""