Chinaunix首页 | 论坛 | 博客
  • 博客访问: 866104
  • 博文数量: 66
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2071
  • 用 户 组: 普通用户
  • 注册时间: 2012-12-04 15:22
个人简介

从事IT相关工作近10年,获得《网络规划师》《信息系统项目管理师》《系统分析师》、Cisco等认证,对网络和操作系统有较深理解,对认证计费系统和虚拟化技术有深入研究。

文章分类

全部博文(66)

文章存档

2019年(4)

2018年(1)

2015年(2)

2014年(16)

2013年(43)

分类: 嵌入式

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 内容


点击(此处)折叠或打开

  1. function norm(x,y)

  2.     return (x^2+y^2)^0.5

  3. end

  4. function twice(x)

  5.     return 2*x

  6. end

 

交互模式下,输入  

>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当做计算器来使用

阅读(2464) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~