lua脚本学习笔记

       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 = 1024
num = 3.0
num = 3.1416
num = 314.16e-2
num = 0.31416E1
num = 0xff
num = 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 = [[alo
123"]]</span>
        变量没有预定义的类型,任何变量都可以包含任何类型的值
<span style="font-family:Microsoft YaHei;">Print(tyoe(a)) -->nill
a=10
Print(type(a)) -->number
a=”a string”
Print((a)) -->string</span>
           lua中的变量如果没有特殊说明,全是全局变量,那怕是语句块或是函数里。变量前加local关键字的是局部变量。

<span style="font-family:Microsoft YaHei;">theGlobalVar = 50
local 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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值