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. 加载中..

相关推荐

  • Nginx Pingora

    Nginx和Pingora有哪些区别

    Nginx是一个高性能的HTTP和反向代理服务器,以事件驱动方式编写,具有低资源消耗、高并发连接等特点。而Pingora是一个Rust框架,用于构建快速、可靠和可编程的网络系统,提供异步Rust、HTTP代理、可定制负载均衡等功能,注重安全性和高度可编程性。两者在应用场景和特性上有所不同。
  • Cloudflare Pingora

    Pingora是什么

    Pingora 是 Cloudflare 使用 Rust 在内部构建的新 HTTP 代理,它每天处理超过 1 万亿个请求,提高了 Cloudflare 的性能,并为 Cloudflare 客户带来了许多新功能,同时只需要 Cloudflar
  • WildCard 虚拟信用卡

    WildCard有哪些工具和功能

    WildCard是专为国内用户提供OpenAI等海外软件服务订阅的虚拟卡平台。WildCard平台提供OpenAI和ChatGPT账户一键注册、ChatGPT Plus和Team一键升级,同时提供OpenAI占用浏览器、OpenAI API转发服务、海外邮箱、海外手机号以及浏览器远程环境。
  • OpenResty

    OpenResty和Tengine有什么区别

    OpenResty和Tengine都是基于Nginx的开源扩展。OpenResty注重于通过LuaJIT为Nginx提供复杂的应用逻辑处理能力;而Tengine由淘宝开发,重点优化了Nginx以支持高并发、大流量的环境。OpenResty适合应用逻辑处理,Tengine则更强调高性能和稳定性。
  • OpenResty

    OpenResty和Nginx有什么区别

    OpenResty和Nginx都基于Nginx核心,但OpenResty通过整合Lua环境,增强了其扩展性和开发效率,而Nginx主要用作轻量级、高性能的Web服务器或反向代理。如果需要简单、高效的Web服务,选择Nginx;若希望在高性能的基础上进行复杂开发,OpenResty是更佳选择。
  • Nginx

    Nginx派生版本有哪些

    Nginx是一款知名的网络服务器软件,除了核心版本,还有多个派生版本满足不同需求。包括:核心的Mainline和Stable、功能强大的OpenResty、淘宝网发起的Tengine以及商业版的Nginx Plus。这些版本根据各自特点,适应不同场景和功能需求。