‘壹’ 1~Lua脚本语言是不是解释性语言 如果是,是用什么工具解释的 2~它需不
lua本身是嵌入式脚本语言。所谓嵌入式 ,就是解释器 被包含在主程序中。 比如你希望写一个游戏,这个游戏需要复杂用户配置文件。这时候你可以使用lua的 函数库 。lua 提供 一个 load 函数,可用于加载lua脚本。脚本内的lua函数 lua变量就被保存在了内存中。然后再使用lua提供的特殊函数去读取lua数据结构,或执行lua函数。
lua有特殊编译器 luac,可将脚本文件预编译,加快lua的加载速度。
‘贰’ lua脚本语言的概念解释
Lua 教程
lua
Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个研究小组于 1993 年开发的,该小组成员有:Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo。
设计目的
其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。
Lua 特性
轻量级: 他用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
其它特性:
支持面向过程(procere-oriented)编程和函数式编程(functional programming);
自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
语言内置模式匹配;闭包(closure);函数也可以看作一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。
Lua 应用场景
游戏开发
独立应用脚本
Web 应用脚本
扩展和数据库插件如:MySQL Proxy 和 MySQL WorkBench
安全系统,如入侵检测系统
第一个 Lua 程序
接下来我们使用 Lua 来输出"Hello World!"
实例(Lua 5.3)
print("Hello World!")
‘叁’ Lua 这个脚本语言一般都用来干什么,有什么优点
Lua 是 Koreader 的主要编程语言,从控制底层输入输出(处理用户按键输入、手势识别、控制屏幕刷新),到处理程序应用逻辑都是由它完成。
可以参考一个使用 Lua 和 C/C++ 混合编程的软件 Koreader(koreader/koreader - GitHub )。Koreader是运行在 Kindle 和 Kobo 阅读器上的第三方阅读软件,支持多种文档格式。
‘肆’ Lua这门编程语言有什么特点一般用来开发什么项目为什么
是一直脚本语言,相对于其他语言学习起来简单,一般用于游戏脚本(对话,剧情,人物属性),作为其他语言的扩展性语言,lua语法灵活,如果c++是一个游戏的逻辑核心,那lua就是游戏的表层,我们能看到的剧情,人物的对话,这些东西和c++编写的接口做交互 ><
‘伍’ luai是什么意思啊
正确的应为Lua,是一个小巧的脚本语言。
它是巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro)里的一个由Roberto Ierusalimschy、Waldemar Celes 和 Luiz Henrique de Figueiredo三人所组成的研究小组于1993年开发的。 其设计目的是为了通过灵活嵌入应用程序中从而为应用程序提供灵活的扩展和定制功能。
所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
(5)lua脚本属于什么语言扩展阅读:
Lua脚本语言使用时候注意事项:
1、Lua脚本的语句的分号是可选的,这个和GO语言很类似,例如:
chenhao-air:lua chenhao$ lua
Lua 5.2.2 Copyright (C) 1994-2013 Lua.org, PUC-Rio
> print("Hello, World")
Hello, World
>
2、Lua的数字只有double型,64bits,所以不必担心Lua处理浮点数会慢(除非大于100,000,000,000,000),或是会有精度问题。
‘陆’ Lua 是怎样一门语言
Lua是一个简洁、轻量、可扩展的脚本语言。Lua有着相对简单的CAPI而很容易嵌入应用中。很多应用程序使用Lua作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。
Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。
它用ANSI C语言编写,并以源代码形式开放,编译后的完整参考解释器只有大约247kB,到5.4.3版本,该体积变成283kB(Linux,amd64),依然非常小巧,可以很方便的嵌入别的程序里。和许多“大而全”的语言不一样,网络通信、图形界面等都没有默认提供。
但是Lua可以很容易地被扩展:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。事实上,现在已经有很多成熟的扩展模块可供选用。
Lua是一个动态类型语言,支持增量式垃圾收集策略。有内建的,与操作系统无关的协作式多线程支持。Lua原生支持的数据类型很少,只提供了数值(默认是双精度浮点数,可配置)、布尔量、字符串、表格、函数、线程以及用户自定义数据这几种。
但是其处理表和字符串的效率非常之高,加上元表的支持,开发者可以高效的模拟出需要的复杂数据类型(比如集合、数组等)。
Lua是一种多重编程范型的程序设计语言:它只提供了很小的一个特性集合来满足不同编程范型的需要,而不是为某种特定的编程范型提供繁杂的特性支持。
例如,Lua并不提供继承这个特性,但是你可以用元表格来模拟它。诸如名字空间、类这些概念都没有在语言基本特性中实现,但是我们可以用表格结构(Lua唯一提供的复杂数据结构)轻易模拟。正是提供了这些基本的元特性,我们可以任意的对语言进行自需的改造。
Lua实现了少量的高级特征比如头等函数、垃圾回收、闭包、正当尾调用、强制(于运行时间在字符串和数值之间自动转换)、协程(协作多任务)和动态模块装载。
实现
Lua程序不是从文本式的Lua文件直接解释的,而是编译成字节码,接着把它运行在Lua虚拟机上。编译过程典型的对于用户是不可见并且是在运行时间进行的,但是它可以离线完成用来增加装载性能或通过排除编译器来减少对宿主环境的内存占用。
Lua字节码还可以在Lua之内产生和执行,使用来自字符串库的mp函数和load/loadstring/loadfile函数。Lua版本5.3.4是用大约24,000行C代码实现的。
像大多数CPU,而不像多数虚拟机(它们是基于堆栈的),Lua VM是基于寄存器的,因此更加类似真实的硬件设计。寄存器架构既避免了过多的值复制又减少了每函数的指令的总数。Lua 5的虚拟机是第一个广泛使用的基于寄存器的纯VM。
Parrot和Android的Dalvik是另外两个周知的基于寄存器的VM。PCScheme的VM也是基于寄存器的。
‘柒’ 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编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。
Lua脚本可以很容易的被C/C++代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。 Lua由标准C编写而成,代码简洁优美,几乎在所有操作系统和平台上都可以编译,运行。一个完整的Lua解释器不过200k,在目前所有脚本引擎中,Lua的速度是最快的。