学习Unity的ulua热更新插件就必须先学习lua的基本语法. 我们一起来学习Lua吧O(∩_∩)O. 首先搭建Lua运行环境Lua for windows

下载地址: http://www.cr173.com/soft/44725.html

安装之后启动SciTE程序(Lua脚本编辑器)新创建一个lua后缀名文件,写上print("hello world"),print输出控制台一句话如下图

如果上面运行成功你已经搭建好Lua的环境,接下来我们就快速的学习Lua基本语法吧

 

二、Lua变量的定义

首先我们看下Lua的变量类型.

nil表示空数据 同等于C#里面的null
boolean布尔类型,存储true和false  
string字符串类型,双引号或单引号表示  
数值(number),以double表示,没有整数类型  
table表  

Lua定义变量前面是不需要写类型,变量存储什么决定它是什么类型,变量的命名不能以数字和_开头.

age = 100
name1 = "盘子脸" --创建一个字符串,单行注释
name2 = '盘子脸'
isMan = true
n = nil print(age)
print("我的名字:"..name1) --输出我的名字, ".."这个符号代表拼接两个字符串.
print("他的名字:"..name2) --[[
我是男的,
这里是多行注释
]]--
print("我的性别:"..isMan)
print(n) --就算变量预先存储string类型,然后有存储10进去,C#是要报错的.
--但是lua是不会报错,name2就变成了number类型
name2 = 10
print(name2)
print(type(name2)) --type(变量),可以查看变量是什么类型 --以上代码你看懂了,就掌握Lua基本类型的创建和使用啦

table类型的使用我单独写了一篇文章: http://www.cnblogs.com/plateFace/p/4762218.html

 

三、Lua的运算符

Lua中有那些运算符呢?我们就了解下常用运算符就可以啦

算数运算符(+,-,*,/,%) Lua是没有++和--这种运算符的
关系运算符(<= ,<, > ,>= ,==)  
逻辑运算符(and, or , not ) 分别表示C#中的 与(&&) 或(||) 非(!)
num1 = 34
num2 = 2 res1 = num1+num2
res2 = num1-num2
res3 = num1*num2
res4 = num1/num2
res5 = num1%num2 --其实print函数一次输出多个变量的值
print(res1,res2,res3,res4,res5) res6 = num1 <= num2 --返回false
res7 = num1 == num2 --返回false print(res6,res7) res8 = res6 and res7 --两个都是false,返回false
res9 = res6 or true --一个是true,返回true
res10 = not res6 --res6是false取反就是true print(res8,res9,res10)

 

四、流程控制语句(if elseif else end)

hp = 100
if(hp <= 0) then
print("hp是小于100的")
elseif(hp >= 50) then
print("hp是大于50的")
else
print("hp是0和50之间的")
end

 

五、循环结构循环(while,repeat)

--使用while, 输出1-50的数字,50之后结束循环。
--Lua没有continue,只有break结束循环
index = 1
while index<=100 do
if(index == 50) then
break
end print(index)
index = index +1
end

使用repeat循环

--使用repeat,先进入循环一次在判断是否继续循环
index = 1
repeat
print(index)
index++ until index > 5

使用for循环

--使用for循环,index每次循环之后自动+1,index到10之后结束循环
for index=1,10 do
print(index)
end

 

六、函数定义

--定义函数的结构
function 方法名(参数1,参数2,参数3,...)
--代码块
end --定义一个函数接受两个数字,返回他们的和
function Plus(num1,num2)
return num1+num2
end --函数是可以返回多个值
function Plus2(num1,num2)
return num1+num2,num1-num2
end --一次性接受到他们的和,他们的差
n1,n2 = Plus2(5,5)
print(n1,n2)

Lua 基本语法的更多相关文章

  1. 大体了解Lua的语法

    Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 在Lua中,一切都是变量,除了关键字.请记住这句话. I. 首先是注释 写一个程序,总是少不了注释的. 在Lua中,你可以使用单行注释和多 ...

  2. 【转】Lua脚本语法说明简介

    Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了.估计看完了,就懂得怎么写Lua程序了. 在Lua中,一切都是变量, ...

  3. Lua 脚本语法说明(转)

    Lua脚本语法说明(增加lua5.1部份特性) Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了.估计看完了,就懂得 ...

  4. Lua脚本语法说明(转)

    Lua脚本语法说明(增加lua5.1部份特性) Lua 的语法比较简单,学习起来也比较省力,但功能却并不弱. 所以,我只简单的归纳一下Lua的一些语法规则,使用起来方便好查就可以了.估计看完了,就懂得 ...

  5. Lua基础语法讲解

    Lua 是什么? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能. Lua 是巴西里约热内卢天主教大学( ...

  6. Lua基本语法-书写规范以及自带常用函数

    Lua基本语法-书写规范和常用函数 本文提供全流程,中文翻译.Chinar坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) 1 String Ope ...

  7. Lua脚本语法说明(转):

    Lua脚本语法说明(增加lua5.1部份特性) 转自:http://www.cnblogs.com/ly4cn/archive/2006/08/04/467550.html Lua 的语法比较简单,学 ...

  8. Cocos2d-x 脚本语言Lua基本语法

    Cocos2d-x 脚本语言Lua基本语法 前面一篇博客对Lua这门小巧的语言进行了简单的介绍.本篇博客来给大家略微讲一下Lua的语法.不会长篇累牍得把Lua的全部语法都讲一遍,这里通过下面几点来讲L ...

  9. Lua - 基础语法

    Hello World 交互式编程 Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用: [huey@huey-K42JE lua]$ lua Lua 5.1.4 Copyright ...

随机推荐

  1. BoneCP学习笔记

    什么是BoneCP BoneCP 是一个快速.免费而且开源的java数据库连接池(JDBC Pool)管理工具库.如果你曾经使用过C3P0或者DBCP,那你肯定知道上面这句话的意思:如果你没用过这些, ...

  2. 开源 免费 java CMS - FreeCMS1.5-系统配置

    下载地址:http://code.google.com/p/freecms/ 系统配置 从FreeCMS 1.2 开始支持 管理系统使用的配置项. 从左侧管理菜单点击系统配置进入. 从FreeCMS ...

  3. 基础总结篇之中的一个:Activity生命周期

    子曰:溫故而知新,能够為師矣.<論語> 学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就全然掌握,那基本不大可能,所以我们须要常常回过头再细致研读几遍,以领悟到作者的思想精 ...

  4. 使用C++11实现无锁stack(lock-free stack)

    前几篇文章,我们讨论了如何使用mutex保护数据及使用使用condition variable在多线程中进行同步.然而,使用mutex将会导致一下问题: 等待互斥锁会消耗宝贵的时间 — 有时候是很多时 ...

  5. Hacker(22)----解除系统中的密码

    Win7系统中,用户可以设置BIOS密码以及系统登录密码,这些密码都有各自的用途.但对黑客而言,完全可以采用不同的方式绕过这些密码.下面介绍黑客如如何接触这些密码. 一.解除BIOS密码 BIOS密码 ...

  6. iptables 实现centos内网机器访问外网

    环境:一台带外网和内网的机器,另一台只有内网,默认不能上网.两台机器都是centos系统带外网机器的外网ip为 123.221.20.11, 内网ip为 192.168.15.100内网机器的内网ip ...

  7. Web App 前端构建(纯净版)

    asp.net 母版页: <!DOCTYPE html> <html> <head> <meta charset="utf-8" name ...

  8. C#操作Flash动画

    对于在C#开发的过程中没有接触过Flash相关开发的人员来说,没有系统的资料进行学习,那么这篇文档针对于初学者来说是很好的学习DEMO. 本文章中的DEMO实现了C#的COM控件库中本来就带有对fla ...

  9. 再入门JavaScript

    从去年毕业到现今,工作不到一年.接触了3个实际项目,一个实训项目.却反而只有实训项目做的比较像样子. 重新又回到写脚本的岗位上,第一次真正意义上接触脚本应该是在达内培训时候李大神所引进,大神各种技术, ...

  10. HDU 5044 离线LCA算法

    昨天写了HDU 3966 ,本来这道题是很好解得,结果我想用离线LCA 耍一把,结果发现离线LCA 没理解透,错了好多遍,终得AC ,这题比起 HDU 3966要简单,因为他不用动态查询.但是我还是错 ...