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会将第一个点理解为一个小数点

          可以在字符串前面放置操作符“#”来获得该字符串的长度









0 0
原创粉丝点击