import{_ as e,c as a,o as t,a4 as r}from"./chunks/framework.Cy9JvDAg.js";const L=JSON.parse('{"title":"1 - 简介","description":"","frontmatter":{"title":"1 - 简介","footer":true,"lastUpdated":true,"outline":false},"headers":[],"relativePath":"1.md","filePath":"1.md"}'),o={name:"1.md"},u=r('<h1 id="_1-简介" tabindex="-1">1 - 简介 <a class="header-anchor" href="#_1-简介" aria-label="Permalink to &quot;1 - 简介&quot;">​</a></h1><p>Lua是一门强大、高效、轻量、可嵌入的脚本语言。它支持多种编程架构：过程编程、面向对象编程（OOP）、函数式编程、数据驱动编程及数据描述。</p><p>Lua结合了简洁的过程语法和强大的数据描述结构（基于关联数组和可扩展语义）。Lua使用动态类型，运行时内部通过寄存器式虚拟机（register-based VM）来执行解释字节码，有自动内存管理和分代GC机制，是配置、编写脚本和原型设计的理想选择。</p><p>Lua是作为一个C语言编写的库实现的，其被标准C/C++所兼容。Lua的发行版本中包括一个独立程序（就叫 lua），它就是由Lua库所实现，作为一个完整独立的编译/解释器，也可以用于交互式使用或批量执行。Lua志在成为一门强大轻量可嵌入在任何需要的地方的脚本语言，并且是强力但轻便高效的独立语言。</p><p>作为扩展语言，Lua没有 <em>主程序</em> 的概念，它通常是 <em>嵌入</em> 到宿主程序中使用，宿主程序也被称为 <em>被嵌入程序</em> 或简称 <em>宿主</em> （通常宿主程序指上边说到的独立程序lua）。宿主程序可以调用函数来执行一段Lua代码，可以写入或读取Lua变量，也可以注册C函数供Lua代码调用。通过使用C函数，可以在相同的语法框架下来自定义编程语言，从而使得Lua能够应用于广泛的领域。</p><p>Lua是自由软件，如许可证所述，其日常分发无任何担保。本手册所言可以在Lua的官方网站<a href="https://www.lua.org" target="_blank" rel="noreferrer"><em>www.lua.org</em></a>上找到。</p><p>就像其他的参考手册一样，本文有些地方也很枯燥。关于Lua背后的设计决策及相关讨论，可以看看Lua官网上的技术论文。至于Lua编程的细节，可以去看Roberto的书 《<a href="https://www.lua.org/pil/" target="_blank" rel="noreferrer"><em>Programming in Lua</em></a>》。</p>',7),_=[u];function s(n,l,p,m,i,c){return t(),a("div",null,_)}const f=e(o,[["render",s]]);export{L as __pageData,f as default};
