博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
lua 入门(一)
阅读量:6842 次
发布时间:2019-06-26

本文共 1634 字,大约阅读时间需要 5 分钟。

hot3.png

写这些都是针对有经验又不想看文档的程序员

Lua 中有八种基本类型: nil、boolean、number、string、function、userdata、 thread 和 table。

nil相当于其它语言的null, false和nil为假,其它均为真 表、函数、线程、以及完全用户数据在 Lua 中被称为 对象: 变量并不真的 持有 它们的值,而仅保存了对这些对象的 引用。 table 是hash随机存储key,所以for循环输出一个table时并不会按定义时的顺序输出

变量定义

name = value          --全局变量 local name = value  --局部变量    local tbl      = {}       --空的table tbl.name     =  value tal['name']   =  value

语句控制结构

while exp do block endrepeat block until expif exp then block {elseif exp then block} [else block] end

goto 语句

goto Name     --goto到指定标签名 Name 首字母不能是小写 可以为 "_":: Name ::        --标签名

for 语句

for val=e1,e2,e3 do block end  例:      for val=1,9 do print(val) end --输出1到9   for namelist in explist do block end例: local list = {t=1,e=2,s=3,t=4} for k,v in pairs(list) do print(k,v) end

函数定义

该语句

function f () body end

被转译成

f = function () body end

该语句

function t.a.b.c.f () body end

被转译成

t.a.b.c.f = function () body end

该语句

local function f () body end

被转译成

local f; f = function () body endPS: 函数使用需要先声明

其它:

取字符串长度 #str 字符连接:“..” table 下标是从1开始

string.gsub 简单例子

local arr = {bidword=12321,plandid=3456}local x = "http://catct.cn/?bidword={bidword}&{plandid}"local str = string.gsub(x,"{(%w+)}",arr)--输出结果:http://catct.cn/?bidword=12321&3456

函数调用(self 的使用)

local x = {}function x:test( str )    print(str)              --call function     self.echo ('test')    --test    self:echo ('test')    --table: 0xabee40     test    self.print ('test')     --输出空    self:print ('test')     --testendfunction x.echo( ... )    print(...)endfunction x:print( ... )    print(...)endx:test('call function')

参考文档:

转载于:https://my.oschina.net/u/1053317/blog/611504

你可能感兴趣的文章