lua的笔记
lua默认只有一种number
声明的时候直接写就可以了
b=2
lua的if else :
if( a < 20 )
then
print("a 小于 20" )
else
print("a 大于 20" )
end
elseif:
a = 100
--[ 检查布尔条件 --]
if( a == 10 )
then
--[ 如果条件为 true 打印以下信息 --]
print("a 的值为 10" )
elseif( a == 20 )
then
--[ if else if 条件为 true 时打印以下信息 --]
print("a 的值为 20" )
elseif( a == 30 )
then
--[ if else if condition 条件为 true 时打印以下信息 --]
print("a 的值为 30" )
else
--[ 以上条件语句没有一个为 true 时打印以下信息 --]
print("没有匹配 a 的值" )
end
lua for循环:
for i=10,1,-1 do
print(i)
end
ipairs和pairs:
for i, v in ipairs(a) do
print(i, v)
end
for i, v in pairs(a) do
print(i, v)
end
ipairs 是从1开始的,如果key不是1,而是101或者"1"这种,ipairs(a)就会取到nil
pairs从第一个元素开始,它不管key的值是什么,都可以遍历
while循环:
a=10
while( a < 20 )
do
print("a 的值为:", a)
a = a+1
end
值得一提的是,lua 里面是for循环是写不了双指针的,left++,right--这种.如果有需要,用while去写就行.
lua的表
lua中只有一种数据结构,就是table,如果需要用其他数据结构,用table手写一个或者用写好的轮子
初始化一个table: mytable = {}
移除table : mytable = nil
对table进行操作经常用到table.insert (table, [pos,] value) , table.remove (table , [,pos]) ), table.sort (table [, comp])
require
在开发中经常用require
-- 文件名为 module.lua
-- 定义一个名为 module 的模块
module = {}
-- 定义一个常量
module.constant = "这是一个常量"
-- 定义一个函数
function module.func1()
io.write("这是一个公有函数!\n")
end
local function func2()
print("这是一个私有函数!")
end
function module.func3()
func2()
end
return module
模块写好后,调用时候需要module表时:
local t =require("module")
需要注意的时候require读这个module表时,是只进行了一次读操作的