lua脚本学习笔记
来源:互联网 发布:linux系清除终端记录 编辑:程序博客网 时间:2024/04/29 23:41
Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
运行
首先,我们需要知道,Lua是类C的,所以,他是大小写字符敏感的。
下面是Lua的Hello World。注意:Lua脚本的语句的分号是可选的,这个和shell脚本很类似
print("Hello World")
#1 你可以像python一样,在命令行上运行lua命令后进入lua的shell中执行语句。
root@x.x.x.x:/home/jeffzhuang/lua# lua
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio
> print("Hello, World")
Hello, World
>
#2 也可以把脚本存成一个文件,用如下命令行来运行。
>lua file.lua
#3 或是像shell一样运行root@x.x.x.x:/home/jeffzhuang/lua# cat hello.lua
#!/usr/bin/lua
print("hello,world")
root@x.x.x.x:/home/jeffzhuang/lua# chmod +x hello.lua
root@x.x.x.x:/home/jeffzhuang/lua# ./hello.lua
hello,world
root@x.x.x.x:/home/jeffzhuang/lua#
语法
注释
-- 两个减号是行注释
--[[ 这是块注释-- ]]
变量
Lua的数字只有double型,64bits,你不必担心Lua处理浮点数会慢(除非大于100,000,000,000,000),或是会有精度问题。你可以以如下的方式表示数字,0x开头的16进制和C是很像的。
<span style="font-family:Microsoft YaHei;">um = 1024num = 3.0num = 3.1416num = 314.16e-2num = 0.31416E1num = 0xffnum = 0x56</span>字符串你可以用单引号,也可以用双引号,还支持C类型的转义,比如: ‘\a’ (响铃), ‘\b’ (格), ‘\f’ (表单), ‘\n’ (换行), ‘\r’ (回车), ‘\t’ (横向制表), ‘\v’ (纵向制表), ‘\\’ (反斜杠), ‘\”‘ (双引号), 以及 ‘\” (单引号)下面的四种方式定义了完全相同的字符串(其中的两个中括号可以用于定义有换行的字符串)
<span style="font-family:Microsoft YaHei;">a = 'alo\n123"'a = "alo\n123\""a = '\97lo\10\04923"'a = [[alo123"]]</span>变量没有预定义的类型,任何变量都可以包含任何类型的值<span style="font-family:Microsoft YaHei;">Print(tyoe(a)) -->nilla=10Print(type(a)) -->numbera=”a string”Print((a)) -->string</span>lua中的变量如果没有特殊说明,全是全局变量,那怕是语句块或是函数里。变量前加local关键字的是局部变量。<span style="font-family:Microsoft YaHei;">theGlobalVar = 50local theLocalVar = "local variable"</span>字符串lua的字符串是不可变的值,不能像在c语言中那样直接修改字符串的某个字符,而是根据修改要求来创建一个新的字符串
a=“one string”
b=string.gsub(a,”one”,”another”
字符串可以用一对匹配的单引号或者双引号
另外可一用一对匹配的双方括号来界定一个字母字符串,就像写“块注释”那样。以这种形式书写的字符串可以延伸多 行,lua不会解释其中的转移序列。这种写法对于书写那还总含有程序的字符串尤为有
<span style="font-family:Microsoft YaHei;">page=[[<html><head><title>an html page</title><body><a herf="http://www.lua.org">lua</a></body></head></html>]]print(page)</span></span>或者[===[中间包含任意个等号作为分割符号
在lua中,”..”是字符连接操作符。当直接在一个数字后面输入他的时候,必须要用一个空格来分割他们。不然,lua会将第一个点理解为一个小数点可以在字符串前面放置操作符“#”来获得该字符串的长度
- Lua脚本学习笔记
- lua脚本学习笔记
- Redis系列学习笔记13 Lua 脚本
- Redis学习笔记(八)redis之lua脚本学习
- [LUA学习笔记02]在C中通过LUA API访问LUA脚本变量
- lua学习笔记 1 android 调用Lua, Lua脚本中启动Intent
- lua学习笔记 3 android调用Lua。Lua脚本使用LoadLib回调Java,并传多个参数
- lua学习笔记 1 android 调用Lua, Lua脚本中启动Intent
- lua学习笔记 3 android调用Lua。Lua脚本使用LoadLib回调Java,并传多个参数
- 【学习笔记】【Cocos2d-x Lua脚本开发】如何使用Lua脚本调用自定义类
- LUA脚本学习
- Lua脚本学习
- lua脚本学习
- Lua 脚本开发学习
- Lua脚本学习1
- lua脚本学习1
- lua脚本学习2
- lua脚本学习3
- 解决Win2003 server sp1安装IIS组件无法复制文件的问题
- Git五分钟教程
- ASP无限分类数据库版
- CAS实现SSO单点登录原理
- SQL-----INNER JOIN ... ON用法 查询数据库多个表
- lua脚本学习笔记
- javamail出现550错误。
- 网页制作必备之初级代码
- 排序算法的稳定性和时间复杂度小结[转]
- hdu1087(Super Jumping! Jumping! Jumping!)
- 机器狗病毒防治
- [排序算法1] - 冒泡排序
- 手把手教你结合seo制作一个新网站
- 有效增加外链的方法及注意事项