发布于 2015-07-26 14:46:20 | 512 次阅读 | 评论: 1 | 来源: 网络整理

Lua是相当简单易学,让我们开始创建第一个Lua程序!

第一个Lua程序

交互模式编程:

Lua中提供了一个名为交互模式模式。在这种模式下,你可以键入一个接一个的指令,并得到立竿见影的效果。此所用的shell使用的是lua-i或只是lua的命令被调用。一旦在这种模式下,按Enter键和互动模式将被启动,如下图所示。


$ lua -i 
$ Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
quit to end; cd, dir and edit also available

可以使用下面的语句打印你想要的东西


> print("test")

按回车,会得到如下的输出。


'test'

默认模式编程:

调用解释器使用lua文件名参数开始执行的文件,并一直持续到脚本完成。当脚本完成时,解释器不再是活动的。

让我们写一个简单Lua程序。所有Lua文件将具有扩展.lua。因此把下面的代码在一个test.lua文件中。


print("test")

假设,LUA环境设置正确,让我们运行程序,使用以下命令:


$ lua test.lua

我们将得到下面的输出。


test

让我们尝试另一种方式来执行Lua程序。下面是修改后的test.lua文件:


#!/usr/local/bin/lua

print("test")

在这里,假设已安装有Lua解释器在/usr/local/bin目录中。第一行是由解释器,如果用#号开始忽略。现在,尝试如下运行这个程序:


$ chmod a+rx test.lua
$./test.lua

将得到下面的输出。


test

现在让我们来看看Lua程序中的基本结构,因此,这能容易理解Lua编程语言的基本构建块。

Lua令牌

一个Lua程序由不同的令牌组成,令牌可以是一个关键字,标识符,常量,字符串文字或符号。例如,下面Lua语句包含三个令牌:


io.write("Hello world, from ",_VERSION,"!n")

各个令牌是:


io.write
(
"Hello world, from ",_VERSION,"!n"
)

注释

注释就像在Lua程序中帮助文本,它们被解释忽略。他们开始与- [[终止及字符- ],如下图所示:


--[[ my first program in Lua --]]

标识符

一个Lua标识符是用来标识变量,函数,或任何其它用户定义的项目名称。一个标识符开始以字母A到Z或a到z或下划线_后跟零个或多个字母,下划线和数字(0〜9)。

Lua中不允许标识符中的标点字符,如@,$,和%。 Lua是区分大小写的编程语言。因此,Manpower 和manpower 在Lua中为两个不同的标识符。这里是可接受的标识符的一些例子:


mohd       zara    abc   move_name  a_123
myname50   _temp   j     a23b9      retVal

关键词

下面列出了一些在Lua中的保留字。这些保留的字不可以被用作常量或变量,或任何其它标识符。

nil, not, or, repeat, return, then, true, until, 和 while.

and break do else
elseif end false for
function if in local
nil not or repeat
return then true until
while

Lua中的空白符

仅包含空格,可能带有注释行,被称为一个空行,和Lua解释完全忽略它。

空白是Lua中用来描述空格,制表符,换行符和注释的术语。空格分开的另一个语句的一部分,使解释来确定,其中在一份声明中的一个元素,如int,结束和下一个元素开始。因此,在下面的语句:


local age

必须有至少一个空白字符(通常是一个空格)local和age之间的解释器,以便能够区分它们。另一方面,在下面的语句


fruit = apples + oranges   --get the total fruit

空格字符是必要的,如:fruit 和=之间,或=和apples,虽然是自由的,如果想提高可读性的目的,那么要加入一些空格。

最新网友评论  共有(1)条评论 发布评论 返回顶部
PHPERZ网友 发布于2016-11-22 12:57:53
据说Lua 的开发者工资都很高,真的吗。
支持(0)  反对(0)  回复

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务