文档章节

lua 入门(一)

鸟屁不会的程序猿
 鸟屁不会的程序猿
发布于 2016/01/29 18:08
字数 498
阅读 171
收藏 9

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

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 end

repeat block until exp

if 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 end


PS: 函数使用需要先声明

其它:

 取字符串长度 #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')     --test

end


function x.echo( ... )

    print(...)

end


function x:print( ... )

    print(...)

end


x:test('call function')

参考文档: http://cloudwu.github.io/lua53doc/manual.html

© 著作权归作者所有

共有 人打赏支持
鸟屁不会的程序猿
粉丝 10
博文 27
码字总数 8148
作品 0
朝阳
程序员
加载中

评论(2)

鸟屁不会的程序猿
鸟屁不会的程序猿

引用来自“抢地主”的评论

就喜欢入门的东西
就是个笔记,带了一点平时注意的东西
抢地主
抢地主
就喜欢入门的东西
100行lua代码实现简单目录浏览器

lae下载地址: https://github.com/ouloba/laetool.git lae下载地址(国内):https://pan.baidu.com/s/1ckMy0Q 相关视频: http://www.tudou.com/listplay/aly7NDWzsQ/AaqZ81jIt-k.html 教程: l......

ouloba
2016/06/25
3.8K
7
Lua学习笔记

注: 标题中带“Cocos”的为Lua结合Cocos的文章。 【基础模块】 Lua(1) ——Cocos之Code IDE入门指南 Lua(2) ——基础语法 Lua(3) ——Cocos之语法糖class Lua(4) ——基本库函数 Lua(5) ——...

shahdza
2015/10/08
0
0
Openresty最佳案例 | 第2篇:Lua入门

转载请标明出处: http://blog.csdn.net/forezp/article/details/78616622 本文出自方志朋的博客 什么是lua Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的...

forezp
2017/11/23
0
0
丁小未/Aladdin_XLua

#Aladdin_XLua [Unity XLua]热更新XLua入门(一)-基础篇 前言 前段时间腾讯开源了一个内部热更框架XLua在Unity开发群里引起一阵热议,也受到广大开发者的热捧,然后我当然也抱着好奇的心去学习...

丁小未
2017/01/14
0
0
cocos2d-x lua代码臃肿,有没有解决方案?客户端动态更新其他好建议吗?

近期开始学习并使用lua。软件分层的思想全世界可以用。但是纯lua的开发模式实现却很难使用多态和封装,也许是我水平低。面临的实际问题却是代码臃肿,不断的循环遍历(我在做解析文本)。我有...

王敬哲
2014/06/10
1K
4

没有更多内容

加载失败,请刷新页面

加载更多

AIX 系统 (资源)

AIX--zabbix agent的编译安装以及遇到的“坑” 荐 : http://blog.51cto.com/lythjq/2128354 AIX--操作系统安装(AIX 6.1) : http://blog.51cto.com/lythjq/2128119...

寰宇01
32分钟前
0
0
Spring 转换 model 为 json 时增加属性

缘起 目前的项目中有个需求是在附件对象转换成 json 时增加个 url 属性,以前的方式是在返回附件对象或列表时候做一次统一处理,这次想看看 spring 或者 jackson fasterxml 是否自带类似功能...

郁也风
32分钟前
0
0
10大PHP比特币开源项目

如果你是一个Phper,如果你希望学习区块链,那么本文列出的 10个开源的Php比特币项目,将有助于你了解在自己的应用中 如何加入对比特币的支持。 如果你希望快速掌握使用Php对接比特币钱包的方...

汇智网教程
今天
1
0
springclould feign客户端添加全局参数

用springclould feign作为调用服务的客户端,一般来说参数可以写在feignclient的方法参数里 有时需要所有feign请求都统一添加一些参数,例如token用于鉴权等,可以这样做: 添加一个配置类,...

canneljls
今天
1
0
win32截屏并rgb24转yuv420

//最终f的内存布局为BGRA格式,需要保证buf长度足够(>w*h*4)void ScreenCap(void* buf, int w, int h){ HWND hDesk = GetDesktopWindow(); HDC hScreen = GetDC(hDesk); ......

styleman
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部