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表时,是只进行了一次读操作的

posted @ 2020-12-25 13:49  melt00  阅读(2)  评论(0编辑  收藏  举报