目录
- IDE
- Lua中的名称
- Lua是一种区分大小写的语言
Lua 是一个小巧的脚本语言。它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
Lua是一种扩展编程语言,旨在支持具有数据描述功能的通用过程编程。它还为面向对象编程、函数式编程和数据驱动编程提供了良好的支持。Lua旨在作为一种强大的轻量级脚本语言,用于任何需要它的程序。Lua是作为一个库实现的,用干净的C(也就是说,在ANSI C和c++的公共子集中)编写。
作为一种扩展语言,Lua没有“主”程序的概念:它只能嵌入到宿主客户端中,称为嵌入程序或简称为宿主。这个主程序可以调用函数来执行一段Lua代码,可以读写Lua变量,可以注册由Lua代码调用的C函数。通过使用C函数,Lua可以扩展到处理各种不同领域,从而创建共享语法框架的定制编程语言。Lua发行版包括一个名为Lua的示例主机程序,它使用Lua库提供一个完整的、独立的Lua解释器。
Lua是自由软件,并且像往常一样提供,不提供任何保证,正如其许可证中所述。本手册中描述的实现可以在Lua的官方网站www.lua.org上获得。
Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。 一个完整的Lua解释器不过200k,在所有脚本引擎中,Lua的速度是最快的。这一切都决定了Lua是作为嵌入式脚本的最佳选择。
IDE
intellij idea安装lua插件
Lua中的名称
(也称为标识符)可以是由字母、数字和下划线组成的任意字符串,不能以数字开头。这与大多数语言中名称的定义一致。(字母的定义取决于当前语言环境:当前语言环境认为是字母的任何字符都可以在标识符中使用。)标识符用于命名变量和表字段。
以下关键字是保留的,不能作为名称使用:
Lua中的名称(也称为标识符)可以是由字母、数字和下划线组成的任意字符串,不能以数字开头。这与大多数语言中名称的定义一致。(字母的定义取决于当前语言环境:当前语言环境认为是字母的任何字符都可以在标识符中使用。)标识符用于命名变量和表字段。
以下关键字是保留的,不能作为名称使用:
and break do else elseif
end false for function if
in local nil not or
repeat return then true until while
Lua是一种区分大小写的语言
and是一个保留词,但是And和AND是两个不同的有效名称。按照惯例,名称以下划线开头,后面跟着大写字母(比如_VERSION),保留给Lua使用的内部全局变量。
以下字符串表示其他tokens:
+ - * / % ^ #
== ~= <= >= < > =
( ) { } [ ]
; : , . .. ...
字面值字符串可以通过匹配单引号或双引号来分隔,并且可以包含以下类似c的转义序列:‘\a’ (bell), ‘\b’ (backspace), ‘\f’ (form feed), ‘\n’(换行),‘\r’(回车),‘\t’(水平制表符),‘\v’(垂直制表符),‘\’(反斜杠),‘"’(引号[双引号])和’"(撇号[单引号])。此外,反斜杠后面跟一个真正的换行符会在字符串中产生一个换行符。字符串中的字符也可以通过使用转义序列\ddd的数值来指定,其中ddd是一个最多由三个十进制数字组成的序列。(注意,如果一个数字转义后面要跟一个数字,那么它必须精确地用三个数字表示。)Lua中的字符串可以包含任何8位值,包括嵌入的零,可以指定为’\0’。
字面值字符串也可以使用用长括号括起来的长格式来定义。我们定义n级的开始长括号为一个开始方括号后面跟着n个等号,后面跟着另一个开始方括号。因此,第0级的开始长括号写成[[,第1级的开始长括号写成[=[,以此类推。结束长括号的定义类似;例如,第4级的结束长括号写成[====]。长字符串以任意级别的开始长括号开始,并以同一级别的第一个结束长括号结束。这种带括号形式的字面量可以运行几行,不解释任何转义序列,并且忽略任何其他级别的长括号。它们可以包含除了适当级别的右括号以外的任何内容。
a = 'alo\n123"'
a = "alo\n123\""
a = '\97lo\10\04923"'
a = [[alo
123"]]
a = [==[
alo
123"]==]