lua脚本语言学习笔记(一)---LUA变量和循环语法学习

来源:互联网 发布:互联网 学什么知乎 编辑:程序博客网 时间:2024/06/05 20:32

一、Lua解释器对字符串的支持很有限。一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容。在Lua中操纵字符串的功能基本来自于string库。

string.len(s) 返回字符串s的长度;
string.rep(s, n) 返回重复n次字符串s的串;你使用string.rep(“a”, 2^20)可以创建一个1M bytes的字符串(比如,为了测试需要);
string.lower(s) 将s中的大写字母转换成小写(string.upper将小写转换成大写)。如果你想不关心大小写对一个数组进行排序的话,你可以这样:
table.sort(a, function (a, b) return string.lower(a) < string.lower(b) end)
string.upper(s) 将s中的小写字母转换成大写
**string.upper和string.lower**都依赖于本地环境变量。所以,如果你在 European Latin-1环境下,表达式:
string.upper(“a??o”) –> “A??O”
string.sub(s,i,j) 函数截取字符串s的从第i个字符到第j个字符之间的串。Lua中,字符串的第一个字符索引从1开始。你也可以使用负索引,负索引从字符串的结尾向前计数:-1指向最后一个字符,-2指向倒数第二个,以此类推。所以, string.sub(s, 1, j)返回字符串s的长度为j的前缀;string.sub(s, j, -1)返回从第j个字符开始的后缀。如果不提供第3个参数,默认为-1,因此我们将最后一个调用写为string.sub(s, j);string.sub(s, 2, -2)返回去除第一个和最后一个字符后的子串。

二、lua脚本语法说明:
脚本语法说明
参考网址:
http://www.runoob.com/lua/lua-variables.html

LUA 变量

变量:
Lua 中的变量全是全局变量,那怕是语句块或是函数里,除非用 local 显示声明为局部变量。

赋值:
Lua可以对多个变量同时赋值,变量列表和值列表的各个元素用逗号分开,赋值语句右边的值会依次赋给左边的变量。

a, b = 10, 2*x       <-->       a=10; b=2*x

遇到赋值语句Lua会先计算右边所有的值然后再执行赋值操作,所以我们可以这样进行交换变量的值:

x, y = y, x                     -- swap 'x' for 'y'a[i], a[j] = a[j], a[i]         -- swap 'a[i]' for 'a[j]'

索引
对 table 的索引使用方括号 []。Lua 也提供了 . 操作。

t[i]  t.i     -- 当索引为字符串类型时的一种简化写法

gettable_event(t,i) – 采用索引访问本质上是一个类似这样的函数调用

LUA 循环

(1) while循环

a=10while( a < 20 )do   print("a 的值为:", a)   a = a+1end

(2) for循环
a.数值for循环
Lua 编程语言中数值for循环语法格式:

for var=exp1,exp2,exp3 do      <执行体>  end  

var从exp1变化到exp2,每次变化以exp3为步长递增var,并执行一次”执行体”。exp3是可选的,如果不指定,默认为1。

for i=1,f(x) do    print(i)endfor i=10,1,-1 do    print(i)end

b.泛型for循环
泛型for循环通过一个迭代器函数来遍历所有值,类似java中的foreach语句。
Lua 编程语言中泛型for循环语法格式:
–打印数组a的所有值

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

例如

days = {"Suanday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"}  for i,v in ipairs(days) do  print(v) end   

(3)repeat…until循环
Lua 编程语言中 repeat…until 循环语法格式:

repeat   statementsuntil( condition )
0 0
原创粉丝点击