タイプと値


Luaは動的タイプ言語であり、変数はタイプ定義しない.Luaには、nil、boolean、number、string、userdata、function、thread、tableの8つの基本タイプがあります.関数typeは、与えられた変数または値のタイプをテストできます.
 
print(type("Hello world"))

print(type(10.4*3))

print(type(print))

print(type(type))

print(type(true))

print(type(nil))

print(type(type(X)))

--> string

--> number

--> function

--> function

--> boolean

--> nil


 
--> string 
 
                    
 , 。
print(type(a))

a = 10

print(type(a))

a = "a string!!"

print(type(a))

a = print

a(type(a))


--> nil ('a' is not initialized) --> number
--> string

-- yes, this is valid!

--> function


上の最後の2行に注意して、functionを使用して他の値を使用するように使用することができます(詳細は6章を参照).一般的に同じ変数が異なるタイプの値を表すと混乱するので、使わないほうがいいですが、特にnilなどの便利さをもたらすことができます.
Luaの特殊なタイプで、彼は1つの値しかありません:nil;グローバル変数が割り当てられていない前のデフォルト値はnilです.
グローバル変数負nilに変数を削除します.
Booleans
2つの値falseとtrueを取ります.ただし、Luaのすべての値が条件として使用できることに注意してください.制御構造の条件ではfalseとnilが偽である以外は真である.だからLuaは0も空串も本当だと思っています.