Lua基础之语法

原创 2015年12月12日 15:11:59

目录:1.输出2.注释3.控制语句4.赋值语句5.运算符6.关键字7.变量类型8.其他

原文地址http://blog.csdn.net/dingkun520wy/article/details/49930543

1.输出

print("Hello world")

2.注释

单行注释中连续两个减号"--"表示注释

多行注释中"--[["表示注释开始并且一直延续到"]]"为止

3.控制语句

(If)

if 条件 then ... elseif 条件 then ... else ... end

实例

if 1+1=2 then print("true")
elseif 1+2~=3 then print("true")
else print("false") end
While

while 条件 do ... end

实例

while 1+1~=2 do print("true") end

Repeat

repeat ... until 条件

实例

repeat print("Hello") until 1+1~=0

For

for 变量=初值终点值步进 do ... end

实例

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

for 变量 1, 变量 2, ... 变量 n in 表或枚举函数 do ... end

实例

for a,b in mylist do print(a, b) end

4.赋值语句

Lua中赋值是可以同时给多个变量赋值的

如:

a,b,c = 1,2,3

当左边变量少时舍弃

当右边变量少时补nil


5.运算符

运算符优先级从低到高顺序如下

or   逻辑或  a or b如果 a  true则返回 a否则返回 b

and 逻辑与 a and b如果 a  false则返回 a否则返回 b

<  >  <= >= ~= ==比较运算,~=为不等于

..  字符串链接 print("Hello world".."Lua")

+ -  数值运算

* / %  数值运算

not # - 一元运算: not是取反,#()区长度,-负数

^ 数值运算:指数乘方运算


6.关键字

and

break

do

else

elseif

 







end

false

for

function

if




 




in

local

nil

not

or

 







repeat

return

then

true

until

while



7.变量类型

nil:空值,所有没有使用过的变量,都是 nil。nil 既是值,又是类型。


Boolean:布尔值,只有两个有效值:true 和 false。在Lua中只有false和nil是false,其他都是true


Number:数值,在 Lua 里,数值是实数。


String:字符串如果你愿意的话字符串是可以包含"\0"字符的这和 C 语言总是以"\0"结尾是不一样的

详见 http://blog.csdn.net/dingkun520wy/article/details/50434530


Table:关系表类型这个类型功能比较强大,详见http://blog.csdn.net/dingkun520wy/article/details/50231603


Function:函数类型函数也是一种类型也就是说所有的函数它本身就是一个变量

例如:

function add(a,b)

  return a+b

end

详见:http://blog.csdn.net/dingkun520wy/article/details/50275387


Userdata:这个类型专门用来和 Lua 的宿主打交道的。宿主通常是用 C 和 C++来编写的是宿主的任意数据类型常用的有 Struct 和指针。


Thread:线程类型 Lua 中没有真正的线程。Lua 中可以将一个函数分成几部份运行




7.其他

在 Lua 中,一切都是变量,除了关键字。

在 Lua 中语句之间可以用分号""隔开也可以用空白隔开。

在 Lua 中for 的循环变量总是只作用于 for 的局部变量当省略步进值时for 循环会使用 1 作为步进值

在 Lua 中语句块是用 do 和 end 括起来的。

在 Lua 中变量总是全局变量除非我们在前面加上"local"











【Lua】特性和一些基础语法总结(Lua入门到精通一)

Lua的语法基础比较简单,比较容易上手,下面总结一些学习过程中的Lua语法基础。 Lua优点及特性 Lua 是一个小巧的脚本语言。 其设计目的是为了嵌入应用程序中,...
  • swj524152416
  • swj524152416
  • 2017年05月10日 18:03
  • 900

eLua学习第一课:和Lua的第一次亲密接触

引子 先看一个实例,在EK-LM3S8962平台上实现的,见下图所示: 对于EK-LM3S8962平台,主要是TI的芯片LM3S8962芯片,A...
  • judyge
  • judyge
  • 2014年11月14日 16:09
  • 473

Lua核心编程之进阶&总结

1、Metatable 1)metatable是用来定义一个table的行为的table。 2)table默认行为可以进行遍历,但table不能相加, metatable允许改变默认行为。 3)Lu...
  • u013047859
  • u013047859
  • 2016年04月24日 18:22
  • 1388

lua 5.1语法约定

Lua 5.1参考手册 由罗伯特·Ierusalimschy路易斯Henrique de Figueiredo沃尔德蔡氏 ‚一个版权©2006 A¢A€“2012 Lua.org,银行业者。免费的根据...
  • xiejunna
  • xiejunna
  • 2016年07月09日 15:16
  • 2817

【Lua学习笔记】 --> 《类型与值、表达式与基本语法》

lua学习笔记,类型与值、表达式与基本语法。
  • JY_95
  • JY_95
  • 2016年02月04日 16:09
  • 1140

NotePad++ 配置lua语法检查

NotePad++  配置lua语法检查
  • wawa1203
  • wawa1203
  • 2014年10月29日 11:17
  • 4196

lua基础——基本语法

lua基础--基础语法
  • jiangwei0512
  • jiangwei0512
  • 2016年04月04日 18:13
  • 3120

openresty-lua代码的语法检查

lua 代码的语法检查可以如下命令:$ luajit -bl foo.lua > /dev/nullref: https://github.com/openresty/lua-nginx-module...
  • cjfeii
  • cjfeii
  • 2016年07月21日 15:08
  • 841

lua静态检查

最近接了个组内的项目,代码是lua开发,由别的人写好,我进行调试。 没想到呀!代码写完竟然都没有静态检查,到处都是坑,天了噜! 程序员最怕的是什么? 填坑呀!还是填别人的坑!没办法,只好一个一个...
  • qq_25467523
  • qq_25467523
  • 2017年08月05日 16:45
  • 804

《Cocos2d-x之Lua核心编程》读书笔记:Lua基础

Lua编程三类用户 需要一门简单的脚步语言嵌入到应用程序中的开发者 想要提高c/c++语言开发者 想要提高运行效率的脚步开发者 特点 易嵌入,可以方便的与c/c++编写的游戏逻辑互相调用 简单,不涉及...
  • c_boy_lu
  • c_boy_lu
  • 2016年01月29日 15:07
  • 1739
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Lua基础之语法
举报原因:
原因补充:

(最多只允许输入30个字)