Lua语言介绍

Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua环境安装Window 系统上安装 Lua

window下你可以使用一个叫"SciTE"的IDE环境来执行lua程序,下载地址为:

本站下载地址:LuaForWindows_v5.1.4-46.exe

Github 下载地址:https://github.com/rjpcomputing/luaforwindows/releases

Google Code下载地址 : https://code.google.com/p/luaforwindows/downloads/list

双击安装后即可在该环境下编写 Lua 程序并运行。

如果下载的LuaForWindows安装提示服务器未连接,下载 vcredist_x86.exe 就可以安装了 

百度云链接:https://pan.baidu.com/s/17UJVHPOCLpmPbeUWpRO1-Q 提取码:i3gn

开始第一个程序

lua 应用 lua程序怎么运行_lua 应用

这个还是蛮简单的

Lua基本语法

$ lua Test.lua 这个我不会用,报错,有没有大神教我一下

我用的dofile("Test.lua")

--单行注释

--[[  多行注释

多行注释  --]]

全局变量  i=1

局部变量  local i =1

i=nil 删除一个变量

写过一点C#,然后在写Lua,感觉Lua这么多人使用还是蛮正常的,写起来很小巧

Lua数据类型

number   (双精度的浮点数)   

nil     (表示一个无效值) 

boolean    (true和false) 

string    (字符串) 

function     (函数) 

userdata    (数据结构) 

thread     (线程) 

table      (数组)

与C#不同的是 ,Lua的0 在 boolean 是true, nil在boolean是false

table的创建      tab={} --创建一个空的table 

string 使用 '..' 来连接 , 比如 print("a".."b")  输出:ab   在Lua中是不用 '+' 号连接

print("123".."456") 输出的是:123456

在Lua中,print("5"+"6") 输出的是:11,如果print("5"+"value")则会报错

字符串的书写有很多种,上面都是用的双引号 "" ,其实单引号 '' 也是可以的,还有一种比较特殊的写法,主要用来写长字符串和换行的字符串,[[]]  比如

lua 应用 lua程序怎么运行_字符串_02

Lua循环

Lua有for循环、while循环和repeat...until循环

for循环

格式

for val=exp1,exp2,exp3 do
  --执行体
end

实例  (exp3为1时可以省略)

for i=1,10 do
  print(i)
end

lua 应用 lua程序怎么运行_lua_03

还有一种泛型的for循环  ,有点像C# 里面的foreach,不同的是 foreach是只输出数组的值,而Lua中可以输出值和索引

实例

array={1,2,3,4,5)
for i,v in ipairs(array) do
  print(i,v)
end

 

lua 应用 lua程序怎么运行_字符串_04

for循环有一个特殊的地方就是,如果自定义一个数组,索引为1的时候没有值,往后的值都输出不出来

实例

array={}
array[2]=22
array[3]=33
for i,v in ipairs(array) do
  print(i,v)
end

 执行会发现,什么都没有输出,当加上array[1]=11,3个值都会被输出

lua 应用 lua程序怎么运行_lua_05

while循环

格式

while(condition)
do
   --执行体
end

实例

i=0
while(i<10)
do
  i=i+1
  print(i)
end

lua 应用 lua程序怎么运行_lua 应用_06

repeat...until循环

格式

repeat
  --执行体
until(condition)

实例

i=0
repeat
  i=i+1
  print(i)
until(i>10)

lua 应用 lua程序怎么运行_Lua_07

break循环控制

跳出当前循环,执行接下来的代码

实例

lua 应用 lua程序怎么运行_lua 应用_08

Lua流程控制

Lua有if、if..else和if嵌套

if 格式 

if(布尔表达式)
 then
    --执行体
 end

实例

i=10
if(i<15)
 then
   print("i 是一个比15小的数")
 end

lua 应用 lua程序怎么运行_lua 应用_09

if..else