分类目录归档:Lua

Lua数据类型

#!/usr/bin/lua

–使用type打印数据类型
–8种数据类型
–lua数据类型有 nil、boolean、number[双精度实浮点数]、string[一对单、双引号
]、function【c或lua编写的函数】、userdata【存储在变量中的C数据结构】、thread【执行的独立线路,用于协程】、table【类似关联数组】
a=2.1;
print(‘number:’..type(a)); –number

b=”this is string”;
print(type(b)) –string

string1 = [[
<p>使用双括号表示一串字符串</p>
]]
print(string1);

–使用#计算字符串长度
print(‘使用#计算字符串a的长度为:’..#b)

–数字字符串进行运算时会尝试把字符串转变为数字
print(‘数字字符串进行运算,会尝试将字符串转为数字:’..’21’+29)
print(‘function:’..type(print)); –function

print(‘nil:’..type(nil)); –nil

print(‘boolean:’..type(true)) –boolean

–删除table和全局变量使用nil进行赋值等同于删掉把他们删掉

–nil作比较时应该使用”nil”双引号 a=nil type(a)==”nill” true

table1 = {name=’joke’,sex=’男’,’21’}
print(‘table:’..type(table1)) –table

print(‘遍历table’);
for k,v in pairs(table1) do
print(k..’–‘..v)
end

–获取table某个键
print(table1.name);

–初始化table
table2 = {}
local table3 = {‘apple’,’pear’,’orange’} –直接初始化table 并声明为局部变>量
table3[4]=’grape’; –给某个索引赋值
–table未声明key 第一个索引是从1开始的
for k,v in pairs(table3) do

print(k..’–‘..v);
end
–function
function add(a,b)
if type(a)==”number” and type(b)==’number’ then
return a+b
else
return false
end
end

print(‘自定义加法函数,结果:’..add(4,6));
–函数可以存储在变量中
function1 = add
print(‘存储在变量中的函数调用:’..function1(10,2))
–简单的条件判断 if else
if nil or false then
print(‘不会进入执行此代码’)
else
print(‘因为nil和false都为false,会执行此逻辑’)
end