文档章节

lua 入门(一)

鸟屁不会的程序猿
 鸟屁不会的程序猿
发布于 2016/01/29 18:08
字数 498
阅读 170
收藏 9
点赞 1
评论 2

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

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 ⋅ 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

Openresty最佳案例 | 第2篇:Lua入门

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

forezp ⋅ 2017/11/23 ⋅ 0

丁小未/Aladdin_XLua

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

丁小未 ⋅ 2017/01/14 ⋅ 0

Allen Kashiwa的游戏开发信息

1 基础知识与通用技能 1.1 语言相关 1.1.1 C/C++ C++ Primer 1.1.2 C# C# 编程指南 1.1.3 Lua Programming in Lua 1.1.4 Python 廖雪峰的Python教程 1.2 语言无关 算法图解 Game Programming...

kashiwa ⋅ 2017/08/01 ⋅ 0

cocos2d-x lua代码臃肿,有没有解决方案?客户端动态更新其他好建议吗?

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

王敬哲 ⋅ 2014/06/10 ⋅ 4

Lua嵌入c入门

Lua介绍 Lua 是一个小巧的脚本语言。其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没...

摩云菜 ⋅ 2016/01/23 ⋅ 0

美程序员走低龄化路线 12 岁少年开发 98 款游戏

据国外媒体报道,在培养高质量工程师方面,美国正在逐渐被印度和中国甩到后面,因此美国正在小学和中学阶段普及计算机编程课程。与此同时,以Lua为代表的入门级编程语言则成为美国青少年未来...

oschina ⋅ 2012/08/30 ⋅ 19

Nginx+Lua开发入门

第二章 Nginx+Lua开发入门 博客分类: 跟我学Nginx+Lua开发 nginxluangxluaopenresty Nginx入门 本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: nginx启动、关闭、重启 ...

fdhay ⋅ 2016/08/31 ⋅ 0

Fanta/free-programming-books-zh_CN

免费的编程中文书籍索引 免费的编程中文书籍索引,欢迎投稿。 国外程序员在 stackoverflow 推荐的程序员必读书籍,中文版。 stackoverflow 上的程序员应该阅读的非编程类书籍有哪些? 中文版...

Fanta ⋅ 2016/11/14 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

解决yum安装报错Protected multilib versions

使用yum安装报错Protected multilib versions原因是因为多个库不能共存,不过更新的话也并不行,但是可以在安装命令后面加上如下一段命令: --setopt=protected_multilib=false 案例: 比如需...

北岩 ⋅ 28分钟前 ⋅ 0

为什么要学习Typescript???

简单来说 目前的typescript就是未来的javascript 为什么?? 这要从ECMA-262标准的第4版说起 对了 我们说的ES5 其实是ECMAScript3.1这个替代性建议被扶正了而已... 那么 第4版标准是什么? 看看...

hang1989 ⋅ 32分钟前 ⋅ 0

linux安装ipfs

一、下载ipfs # cd /usr/local/ipfs/ # wget https://dist.ipfs.io/go-ipfs/v0.4.15/go-ipfs_v0.4.15_linux-amd64.tar.gz # tar -zxvf go-ipfs_v0.4.15_linux-amd64.tar.gz 二、安装ipfs # ......

八戒八戒八戒 ⋅ 38分钟前 ⋅ 0

jvm程序执行慢诊断手册

生产环境最多的几种事故之一就是程序执行慢,如果是web服务的话,表现就是响应时间长。本文分享,从业多年形成的排查守则。 诊断步骤 系统资源查看 首先是系统资源查看,而且必须是在第一步。...

xpbob ⋅ 38分钟前 ⋅ 0

YII2 advanced 高级版本项目搭建-添加API应用以及多应用

一、YII安裝 安裝yii可以用composer安裝,也可以在yii中文社区下载归档文件安装 composer安装就不介绍了,因为要安装composer,比较麻烦,当然安装了composer是最好的,以后安装yii的插件要用...

botkenni ⋅ 39分钟前 ⋅ 0

在jdk1.8的环境下模拟永久代内存溢出

相信不少小伙伴在看深入理解Java虚拟机的时候,作者给我们举例一个demo来发生PermGen space 1、通过List不断添加String.intern(); 2、通过设置对应的-XX:PermSize与-XX:MaxPermSize(更快看到...

虾几把写 ⋅ 今天 ⋅ 0

开发OpenDaylight组件的完整流程

在前面介绍学习了OpenDaylight的几个重要模块后,这里再来介绍下完整开发一个模块的过程。 OSGI的bundles提供被其他OSGI组件调用的服务。这个教程中展示的是Data Packet Service去解析数据包...

wangxuwei ⋅ 今天 ⋅ 0

Java序列化和反序列化

1、什么是序列化和反序列化 序列化:把对象转换为字节序列的过程。 反序列化:把字节序列恢复成对象的过程。 2、被序列化的类需要实现serializable接口,只是为了标注该对象是可以被序列化的...

IT-Mamba ⋅ 今天 ⋅ 0

流式构建原理

流式构建需要达到分钟级的数据更新频率,Kylin采用类似于Spark Streaming的做法,每隔数分钟进行一次微构建。这边的构建需要考虑到一个延迟因素,分布式网络存在延迟等因素,该时间段的数据有...

无精疯 ⋅ 今天 ⋅ 0

在maven项目工程编写solr代码,需要的依赖

solrJ <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>6.6.2</version> </dependency> <dependency> <groupId>org.apache.httpcomponents<......

爱运动的小乌龟 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部