1.环境配置
2.ide的选择 我选择了用InteliJ IDEA+EmmyLua
3.找个教程练习一下基本语法
tab1 = { key1 = "val1", key2 = "val2", "val3" }
for k, v in pairs(tab1) do
print(k .. " - " .. v)
end
print("1111");
tab1.key1 = nil
-- nil:删除作用
for k, v in pairs(tab1) do
print(k .. " - " .. v)
end
print(type(X))
print(type(X)==nil)
print(type(X)=="nil")
a = 5 -- 全局变量
local b = 5 -- 局部变量
function joke()
c = 5 -- 全局变量
local d = 6 -- 局部变量
end
joke()
print(c,d) --> 5 nil
do
local a = 6 -- 局部变量
b = 6 -- 对局部变量重新赋值
print(a,b); --> 6 6
end
do
site = {}
site["key"] = "www.runoob.com"
print(site["key"])
print(site.key)
end
aas = true;
while( aas )
do
print("循环将永远执行下去")
aas = false;
end
aac = 1.0-0.2;
aac = "来说就是"
print(aac)
print(type(aac))
print(aac~=7) -- 不等于 and or not(非)
a = "Hello "
b = "World"
print("连接字符串 a 和 b ", a..b )
print("b 字符串长度 ",#b )
print("字符串 Test 长度 ",#"Test" )
print("菜鸟教程网址长度 ",#"www.runoob.com" )
string1 = "Lua"
print("\"字符串 1 是\"",string1)
string2 = 'runoob.com'
print("字符串 2 是",string2)
string3 = [["Lua 教程"]]
print("字符串 3 是",string3)
array = {"Lua", "Tutorial"}
for i= 0, 2 do
print(array[i])
end
array = {"Google", "Runoob"}
for key,value in ipairs(array)
do
print(key, value)
end
-- 无状态迭代
function square(iteratorMaxCount,currentNumber)
if currentNumber<iteratorMaxCount
then
currentNumber = currentNumber+1
return currentNumber, currentNumber*currentNumber
end
end
for i,n in square,3,0
do
print(i,n)
end
-- 多状态迭代
array = {"Google", "Runoob"}
function elementIterator (collection)
local index = 0
local count = #collection -- 数组长度获取
print("------"..count);
-- 闭包函数
return function ()
index = index + 1
if index <= count
then
-- 返回迭代器的当前元素
return collection[index]
end
end
end
--遍历输出函数的返回
for element in elementIterator(array)
do
print(element)
end
--函数定义
function foundWater()
return true
end
--引包的操作
local test02 = require("test02")--作为文件名区搜索 只会加载文件并运行 调用的同一个
print(test02.fool(5,6))
--一次插入多条数据
local t = {}
for i=1,10 do
table.insert(t,i)
end
--获得数组的长度
print(#t)
--依次遍历
for k,v in pairs(table) do
print(k,v)
end
--获取值的类型
print(type(t))
--字符串转数值
tonumber("30.14")
--数值转字符串
tostring(3.14)
--连接字符串
string.format("hi%d",2)