从事IT相关工作近10年,获得《网络规划师》《信息系统项目管理师》《系统分析师》、Cisco等认证,对网络和操作系统有较深理解,对认证计费系统和虚拟化技术有深入研究。
分类: 嵌入式
2013-08-09 15:00:38
1、 print("Hello world") 可以使用单引号和双引号
变量直接使用,不需要$前缀 或者使用单双引号引用
2、 程序块(chunk),每段代码,例如源代码文件或者在交互模式下输入的一行代码,都称作一个“程序块”,一个程序块就是一连串的语句或者命令。
3、 连续的lua语句之间并不需要分割符,亦可以用分号分隔。代码中的换行没有任何作用
即使 a = 1 b=a*2 也是合法的 亦可以写作 a = 1; b=a*2
4、 交互模式下输入命令都会被立即执行,结束输入END-OF-File控制符即可【Linux下Ctrl+D,windows下Ctrl+Z】,要么调用操作系统库exit函数,输入os.exit()
5、 运行程序块的方法是 dofile ,这个函数会立即执行一个文件,比如当前有个文件叫 lib.lua 内容
点击(此处)折叠或打开
交互模式下,输入
>dofile("lib.lua")
>n = norm(3.4,1.0)
>print(twice(n))
或者采用 lua -i lib.lua 这样的话执行完脚本后,进入交互模式继续运行需要的命令
6、 词法规范
同C语言规则,但是避免 _开头,然后跟着大写字母,这是lua保留的一些类标识符。保留标示符 _ 作为哑变量(Dummy Variable)使用
至于什么是字母的定义交给 区域设置决定(Locale),但是建议采用英文字母
保留字: and break do else elseif end false for function if in local nil not or repeat return then true until while
Lua区分大小写,and是保留字,但是And、anD之类只是普通的标示符
7、 注释语法
-- 单行注释(两个连字符)
--[[
多行注释内容
--]] 多行注释,重新启用代码则在行首再加一个连字符即可,原因很简单,-- 注释掉了 -[[ ,然后-- 又注释掉了]] 所以代码被启用了
--- [[
这已经是可以运行代码的多行注释了
--]]
8、全局变量(Global Variable)
不需要声明,只需要将一个值赋给全局变量即可,lua中访问未初始化的变量不会引发错误,结果是特殊值 nil
print(b) -->nil
删除变量没有必要,如果生命周期短,请用局部变量,如果非要删除 那么赋值nil,b=nil
9、 解释器程序(the dtand-slone interpreter)
解释器是一个小型程序,通过它直接使用lua,带有一些参数,第一行以#开头,加载该文件的时候解释器将会忽略这一行,这项特征主要是为了方便UNIX系统中将Lua作为一种脚本解释器来使用
#! /usr/bin/lua
#!/usr/bin/env lua
如果直接调用脚本文件,则无需显示的调用lua解释器了
lua 选项参数 脚本[参数]
lua -e "print(math.sin(12))" e 可以直接在命令行中输入代码
lua -i -l lib.lua -e "x=10" l可以用于加载库文件,这条语句是说,在加载lib.lua库文件后运行x=10后进入交互模式
设置提示符,采用全局变量 _PROMPT 即(默认是 > )【shell的是% 作为提示符】
lua -i -e "_PROMPT=' lua>'"
lua>
交互模式下,打印任何表达式的值,可以用等号开头并跟随一个表达式
>= math.sin(3)
>a=30
>= a
这样很好的把lua当做计算器来使用