Lua编程入门-学习笔记1

第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

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

第5章 函数

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

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

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

可变参数:  func(...)

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

哑元变量:  _

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

命名参数:

rename(old="temp.lua", new="temp1.lua")

时间: 2024-11-03 01:24:27

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

Hadoop入门学习笔记---part1

随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力,好好做.正是因为选题和hadoop有关,现在正式开始学习hadoop.将笔记整理于此,希望与志同道合的朋友共同交流. 作者:itRed 邮箱:[email protected] 个人博客链接:http://www.cnblogs.com/itred 好了,废话不多说.进入正题!开始hadoop的学习

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

疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引发一个n号中断. 运行过程相当于: (1)取中断类型吗n. (2)标志寄存器入栈:设置IF=0,TF=0. (3)CS.IP入栈 (4)(IP)=(n*4),(CS)=(n*4+2) 样例1:编写.安装中断7ch.实现求一个word型数据的平方,用ax存放这个数据. assume cs:code code s

汇编入门学习笔记 (十二)—— int指令、端口

疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.端口 参考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引发一个n号中断. 执行过程相当于: (1)取中断类型吗n. (2)标志寄存器入栈:设置IF=0,TF=0. (3)CS,IP入栈 (4)(IP)=(n*4),(CS)=(n*4+2) 例子1:编写.安装中断7ch,实现求一个word型数据的平方,用ax存放这个数据. assume cs:code code seg

Hadoop入门学习笔记---part4

紧接着<Hadoop入门学习笔记---part3>中的继续了解如何用java在程序中操作HDFS. 众所周知,对文件的操作无非是创建,查看,下载,删除.下面我们就开始应用java程序进行操作,前提是按照<Hadoop入门学习笔记---part2>中的已经在虚拟机中搭建好了Hadoop伪分布环境:并且确定现在linux操作系统中hadoop的几个进程已经完全启动了. 好了,废话不多说!实际的例子走起. 在myeclipse中新建一个java工程: 在项目工程中新建一个lib包用于存放

汇编入门学习笔记 (六)—— si、di,双重循环

疯狂的暑假学习之  汇编入门学习笔记 (六)-- si.di,双重循环 参考: <汇编语言> 王爽 第7章 1. and和or指令,与[bx+idata] and和or,就不多说了. [bx+idata] 这样写是可以的,某些情况下,比较方便. [bx+idata] 也可以写成 idata[bx] 直接见例子: 把'ABcde' 跟 'fGHig' 都改成大写(ASCII中大写字母与小写字母二进制中,只有第五位不同,大写字母是0,小写字母是1) assume cs:code,ds:data d

汇编入门学习笔记 (八)—— 转移指令

疯狂的暑假学习之  汇编入门学习笔记 (八)--  转移指令 參考: <汇编语言> 王爽 第9章 能够改动ip或者同一时候改动cs和ip的指令统称为转移指令. 8086CPU转移行为分为: 段内转移:仅仅改动ip 段间转移:同一时候改动cs和ip 段内转移按ip改动的范围可分为: 短转移:ip改动范围 -128~127 近转移:ip改动范围 -32768~32767 转移指令分为: 无条件转移指令.如 jmp 条件转移指令 循环指令.如 loop 过程. 中断. 1. offset,nop指令

Hadoop入门学习笔记---part3

2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hadoop有了一个基础的了解.但是还是有一些理论性的东西需要重复理解,这样才能彻底的记住它们.个人认为重复是记忆之母.精简一下: NameNode:管理集群,并且记录DataNode文件信息: SecondaryNameNode:可以做冷备份,对一定范围内的数据作快照性备份: DataNode:存储数据:

汇编入门学习笔记 (三) —— 第一个程序

疯狂的暑假学习之  汇编入门学习笔记 (三)-- 第一个程序 参考:<汇编语言> 王爽  第四章 1.一个源程序从写到执行的过程 第一步:编写汇编源程序 第二步:对源程序进行编译连接 第三步:在操作系统中执行 2.源程序 代码: assume cs:first first segment start: mov ax,2 add ax,ax add ax,ax mov ax,4C00H int 21H first ends end start 代码解释: assume .segment.ends

Python 实现 CNKI批量下载 和FireFox Extension 入门学习笔记

?                                 Python 实现 CNKI批量下载 和FireFox Extension 入门学习笔记? 由于需要也是为了督促自己学习新的东西,我原本想要尝试着写一个爬虫程序,能够在cnki上自动得将论文进行批量下载,学习过程中遇到了诸多情况,cnki也真是专业,不得不佩服cnki的强大. 下面进入正题: 学习.实验环境:ubuntu 14.04 工具:Eclipse ,  FireFox, FireBug,HttpFox 编程语言:pyth