Lua是什么意思

子凡 问答 2019-08-02 15:08:04 阅读(...)

Lua 是一个简洁、轻量、可扩展的脚本语言。Lua 由标准 C 编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua 在葡萄牙语中的意思是月亮。

Lua 是一个简洁、轻量、可扩展的脚本语言。Lua 由标准 C 编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua 在葡萄牙语中的意思是月亮。

Lua

目标

Lua 的目标是成为一个很容易嵌入其它语言中使用的语言。

很多应用程序使用 Lua 作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。

特性

Lua 是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得 Lua 体积小、启动速度快。它用 ANSI C 语言编写并以源代码形式开放,编译后仅仅一百余 K,可以很方便的嵌入别的程序里。和许多“大而全”的语言不一样,网路通讯、图形界面等都没有默认提供。但是 Lua 可以很容易地被扩展:由宿主语言(通常是 C 或 C++)提供这些功能,Lua 可以使用它们,就像是本来就内置的功能一样。事实上,现在已经有很多成熟的扩展模块可供选用。

Lua 是一种多重编程范式的程序设计语言:它只提供了很小的一个特性集合来满足不同编程范式的需要,而不是为某种特定的编程范式提供繁杂的特性支持。例如,Lua 并不提供继承这个特性,但是你可以用元表来模拟它。诸如名字空间、类这些概念都没有在语言基本特性中实现,但是我们可以用表结构(Lua 唯一提供的复杂数据结构)轻易模拟。Lua 可以在运行时随时构造出一个函数,并把它看作一个对象(正是所谓的 first class function),这个特性可以很好的满足函数式编程的需要。正是提供了这些基本的元特性,我们可以任意的对语言进行自需的改造。

Lua 原生支持的数据类型非常之少,它只提供了数字(缺省是双精度浮点数,可配置)、布尔量、字符串、表、子程序、协程(coroutine)以及用户自定义数据这几种。但是其处理表和字符串的效率非常之高,加上元表的支持,开发者可以高效的模拟出需要的复杂数据类型(比如集合、数组等)。

Lua 是一个动态弱类型语言,支持增量式垃圾收集策略。有内建的,与操作系统无关的协作式多线程(coroutine)支持。

Lua 可以用于嵌入式硬件,不仅可以嵌入其他编程语言,而且可以嵌入微处理器中,例如 NodeMCU 开源硬件项目将 Lua 嵌入到 Wi-Fi SoC 中。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • 等保测评 Common Criteria Evaluation

    等保测评怎么做

    先了解等保测评标准,把握等保测评的原理,以及把握它与其他安全标准的关系;准备好等保测评的文件,包括测评的目的、测评的范围、评估的要求等;根据等保测评标准,对IT产品进行测评,并且进行安全性的评估,以确保产品的安全性;收集所有的评估结果,并编写测评报告,以及把握等保测评的结果。
  • 火焰病毒 Flame virus

    火焰病毒是什么

    火焰病毒(Flame virus),又称Skywiper,是一种大规模的恶意软件。火焰病毒是一种恶意软件,它可以监测、收集和传输数据,并可以对攻击目标的计算机进行攻击。火焰病毒的攻击目的是利用网络漏洞,收集有价值的信息,并使用恶意软件进行攻击。
  • openEuler 开源操作系统

    openEuler是什么

    欧拉操作系统(openEuler)是一款基于Linux的开源操作系统。 支持鲲鹏及其它多种处理器,能够充分释放计算芯片的潜能,是由全球开源贡献者构建的高效、稳定、安全的开源操作系统,适用于数据库、大数据、云计算、人工智能等应用场景。
  • LuaJIT

    LuaJIT是什么

    LuaJIT 是采用 C 语言写的 Lua 代码的实时跟踪编译器。LuaJIT 已被成功地用作游戏,设备,网络和图形应用程序,数字模拟,交易平台和许多其他专业应用程序中的脚本中间件。
  • OpenResty

    OpenResty是什么

    OpenResty(ngx_openresty)是一个基于Nginx与Lua的高性能Web平台,其内部集成了大量精良的Lua库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态Web应用、Web服务和动态网关。
  • Vscode

    Vscode主要用来编写什么

    Vscode主要用来编写c/c++,它是一个轻量级但功能强大的源代码编辑器,运行在桌面上,针对于编写现代Web和云应用的跨平台源代码编辑器,可用于C++、C#、Java、Python、PHP灯语言,和运行时(如.NET 和 Unity)。