Lua的句法和保留字段
2017-12-01 00:00:00


一、Chunk(语句组)和block(语句块)

官方解释:

Chunk是一系列语句,Lua执行的每一块语句,比如一个文件或者交互模式下的每一行都是一个Chunk。

每个语句结尾的分号(;)是可选的,但如果同一行有多个语句最好用;分开

一个Chunk可以是一个语句,也可以是一系列语句的组合,还可以是函数,Chunk可以很大,在Lua中几个MByte的Chunk是很常见的。

个人解释:

 Chunk其实是一个集合,chunk可以是简单的一句printf(“hello world”);也可以是一个函数,输入语句,甚至可以是一个文件。你可以简单的理解为chunk是统称代表着一个由语句组成的集合。

 Block一般指一个控制结构内的一个函数体,或者一个chunk。

 例如 a=1 b=2; 就是一个chunk

 block一般指一个控制结构内的一个函数体,或者一个chunk

 while true do

 dialog(“hello world”) (这就是一个block)

 end

二、什么事标识符?

Lua中用到的名字(也叫标识符)可以是任何非数字开头的字母、数字、下划线组成的字符串。这符合几乎所有编程语言中关于名字的定义。(字母的定义依赖于当前环境:系统环境中定义的字母表中的字母都可以被用于标识符。)标识符用来命名变量,或作为表的域名。

不能被用作标识符的成为保留字段:

and  break  do  else  elseif  end  false  for  function  if 

in  local  nil  not  or  repeat  return  then  true  until  while

这些保留字段在代码编写过程中都有一定的功能的,因此不能被用作标识符。

举例演示

 

会出现报错,报错信息为系统不期待‘ and’的出现。

若使用大写,And If则可以被用作标识符,并显示没有语法错误。

Lua是一个大小写敏感的语言: and 是一个保留字,但是AND和And则是两个不同的合法的名字。

一般约定,以下划线开头连接一串大写字母的名字(比如_VERSION)被保留用于lua内部全局变量。

三、注释

注释就是让一段代码失去作用或者标注代码含义的语句

注释:单行注释:--

多行注释: --[[ --]]

举例演示