Lua学习

Posted TO_ZG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua学习相关的知识,希望对你有一定的参考价值。

Lua里的注释:
单行注释
--:用两个减号表示注释的开始,一直延续到行末位置。相当于C语言中的"//"。
多行注释
使用"--[["表示注释开始,使用"]]"表示注释结束。这种注释相当于C语言中的"/*"和"*/"。

Lua的变量:
在默认情况下,Lua里认为所有的变量都是全局变量。假如需要定义局部变量,则在声明变量时需要使用local说明。
并且在赋值的时候,允许同时给多个变量进行赋值。
全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。
如果你想删除一个全局变量,只需要将变量赋值为nil。
换句话说, 当且仅当一个变量不等于nil时,这个变量即存在。

Lua的运算符:
算术运算符与比较运算符跟C语言的没有区别
逻辑运算符跟C语言中的区别很大:
在使用逻辑运算符时与C语言差别很大:
在Lua语言里,只有false和nil才为false,其他任何数据都是true,0也是true!!!
and 和 or 的运算结果不是true和false,而是和他的两个操作数相关。
a and b:如果a为false,则返回a;否则,返回b;
a or  b:如果a为true,则返回a;否则,返回b;

Lua的基本类型:
Lua是一个动态类型的语言,没有类型定义,每个值都有自己的类型。
Lua是动态类型语言,变量不要类型定义,只需要为变量赋值。 值可以存储在变量中,作为参数传递或结果返回。
Lua有8个基本类型,nil, boolean, number, string, userdata, function, thread, table,利用type函数可以打印出一个给定值的类型。

nil         空值,所有没有使用过的变量都是nil;nil既是值,又是数据类型
boolean     布尔类型,只有两个有效的值:true和false
number      数值类型,在Lua里,相当于C语言里的double
string      字符串,如果愿意的话,字符串是可以包含"\0"字符的
table       关系类型,这个类型的功能比较强大
function    函数类型,可以由函数类型来声明变量
userdata    这个类型专门与Lua的宿主打交道。宿主通常是由c语言和c++语言开发的,在这种情况下,userdata可以是宿主的任何类型,常用的是结构体和指针类型
thread      线程类型,在Lua里没有真正的线程。

Lua模块:
在C语言中代码块是有"{"和"}"括起来的,在Lua中,使用do和end关键字括起来的。
do
print("Hello")
end

Lua里的关系类型:
在Lua里的关系类型(Table)定义很简单,它主要特征是使用"{"和"}"来括起来一系列的元素。

Lua标识符:
标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9)。
最好不要使用下划线加大写字母的标示符,因为Lua的保留字也是这样的。
Lua 不允许使用特殊字符如 @, $, 和 % 来定义标示符。 Lua 是一个区分大小写的编程语言。

Lua关键字:
以下列出了 Lua 的保留关键字。保留关键字不能作为常量或变量或其他用户自定义标示符:
and      break     do     else
elseif   end       false  for
function if        in     local
nil      not       or     repeat
return   then      true   until
while   
一般约定,以下划线开头连接一串大写字母的名字(比如 _VERSION)被保留用于 Lua 内部全局变量。

 

以上是关于Lua学习的主要内容,如果未能解决你的问题,请参考以下文章

lua学习笔记——Notepad++ 设置运行 lua 和 python

Lua学习系列

Lua学习笔记 —— 风格

Lua学习十----------Lua数组

Lua学习——初识Lua

lua学习:lua实现面向对象