第1章:起点

Chunks: 语句块

每个语句结尾的分号是可选的,如果同一行有多个语句最好使用分号分隔;

dofile("lib1.lua")  -- 执行lua文件

全局变量:局部变量用local修饰,否则就是全局变量

保留字:

if then else elseif end

and or not

fuction return end

true false nil

while ... do .. end    break

repeat ... until ...

for ... in ... do ... end

local

注释:单行 --

多行 --[[ XXX  --]]

命令行: lua [option] [script [args]]

-e: 直接传入命令,如:lua -e "print(math.sin(12))"

-l: 加载文件,如:lua -la -lb,执行a.lua和b.lua文件

-i: 交互模式,

第2章 类型和值

8个基本类型: nil\boolean\number\string\userdata\function\thread\table

通过type()获取类型

转义字符: \[  \]

第3章 表达式

算术运算符

二元运算符: + - * / ^ (加减乘除幂)

一元运算符: -

关系运算符

<  >  <=  >=  ==  ~=

nil只和自己相等

逻辑运算符

and or not

a ? b : c

连接运算符

..    -> string

{}   => days = {"sunday", "monday"}

days[1]  索引从1开始!!!

a = {x=0, y=1}   <=>  a={}; a.x=0; a.y=1  <=>  {["x"]=0, ["y"]=1}

{"red", "green", "blue"}    <=>  {[1]="red", [2]="green", [3]="blue"}

不推荐数组下标从0开始,否则很多标准库不能使用

第4章 基本语法

赋值语句:  x,y = y,x

Lua总是会将等号右边的个数调整到与左边的个数一致。若不够,以nil填充,若有多,则丢弃。

do ... end   <=>  C++的{}

循环语句:

while condition do

statements

end

repeat

statements

until conditions;

for var=exp1, exp2, exp3 do  --注意:exp1,exp2,exp3只会计算一次!!!

loop-part

end

for i,v in ipairs(a) do print(v) end

break和return语句用于跳出当前块。

break和return只能是一个块的最后一条语句。(程序块或end、else、until前的一条语句)

可以通过do return end来规避

第5章 函数

调用函数的时候,如果参数列表为空,必须使用()表明是函数调用,当函数只有一个参数并且这个参数是字符串或者表构造的时候,()可有可无。

Lua函数实参和形参的匹配与赋值语句类似,多余部分被忽略,缺少部分用nil补足

特殊函数unpack,数组作为参数返回数组的每个元素

可变参数:  func(...)

Lua将函数的可变参数放在一个叫arg的表中,除了参数以外,arg表中还有一个域n表示参数的个数

哑元变量:  _

local _, x = string.find(s, p)

命名参数,具名实参:

rename{old="temp.lua", new="temp1.lua"}

当实参只有一个table构造式时,函数调用的括号是可有可无的。

Lua编程入门-学习笔记1的更多相关文章

  1. Lua编程入门-学习笔记2

    第6章 深入函数 函数是一种“第一类值(First-Class Value)”,他们具有特定的词法域(lexical scoping) 将表达式“function(x) <body> en ...

  2. opencv3 编程入门学习笔记(一): 基本函数介绍

    滤波 blur (均值滤波) 均值滤波是典型的线性滤波算法, 主要方法为领域平均法(即用一片图像区域的各个像素的平均值来代替原图像中的各个像素值) 缺点: 不能很好的保护图像细节, 在图像去噪的同时也 ...

  3. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  4. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  5. OpenCV入门学习笔记

    OpenCV入门学习笔记 参照OpenCV中文论坛相关文档(http://www.opencv.org.cn/) 一.简介 OpenCV(Open Source Computer Vision),开源 ...

  6. 汇编入门学习笔记 (十二)—— int指令、port

    疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...

  7. Hadoop入门学习笔记---part4

    紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操 ...

  8. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  9. PyQt4入门学习笔记(三)

    # PyQt4入门学习笔记(三) PyQt4内的布局 布局方式是我们控制我们的GUI页面内各个控件的排放位置的.我们可以通过两种基本方式来控制: 1.绝对位置 2.layout类 绝对位置 这种方式要 ...

随机推荐

  1. /调整button的title的位置

    [bottomButton setTitleEdgeInsets:UIEdgeInsetsMake(10, -190, 10, 44)];  //上左下右            ||button.co ...

  2. iOS开发-单例模式的解读

    现在网上的有很多人写单例模式,一个很基本的东西但是版本也有很多,新人看了难免有些眼花缭乱的感觉.自己最新比较闲,也过来写一些自己的心得. 在往下看之前,我们要明白一点,那就是在什么情况下我们才要用到单 ...

  3. 写一个Windows上的守护进程(7)捕获异常并生成dump

    写一个Windows上的守护进程(7)捕获异常并生成dump 谁都不能保证自己的代码不出bug.一旦出了bug,最好是崩溃掉,这样很快就能被发现,若是不崩溃,只是业务处理错了,就麻烦了,可能很长时间之 ...

  4. 飘逸的python - 多条件排序及itemgetter的应用

    曾经客户端的同事用as写一大堆代码来排序,在得知python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣. 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球,再相 ...

  5. 使用jekyll主题

    github上面有很多基于jekyll的主题 https://github.com/theme4jekyll 使用起来也非常方便.直接clone到本地 这些主题,包括了很多模板,在新建博客的时候可以在 ...

  6. 启动PL/SQL Developer 报字符编码不一致错误,Database character set

    错误内容: Database character set (AL32UTF8) and Client character set (ZHS16GBK) are different. Character ...

  7. Gnome快捷键

    1.Gnome快捷键 http://wiki.ubuntu.org.cn/Gnome%E5%BF%AB%E6%8D%B7%E9%94%AE 2.

  8. Java 遍历Map

    Set<Map.Entry<String, String>> aSet = map.entrySet(); Iterator<Map.Entry<String, S ...

  9. 将窗体显示在 PageControl 上

    var AWinControl:TPageControl; begin AWinControl := PageControl1; if frmAbout = nil then Exit; frmAbo ...

  10. 基于jeasyui的遮罩扩展[修复链式bug]

    说明和使用方法看下面代码,直接复制下面代码保存为js文件,引用即可. 遮罩效果从datagrid中提取,针对jquery进行优化. 下载地址(附Demo):http://pan.baidu.com/s ...