<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-menu-disabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-os vector-sticky-header-enabled skin-thumbsize-clientpref-standard" lang="zh" dir="ltr"><head>
    <meta charset="UTF-8">
    <title>Lua</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="icon" type="image/png" href="./_res_/favicon.png">
    <link rel="canonical" href="https://zh.wikipedia.org/wiki/Lua"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.pygments.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
    <meta name="ResourceLoaderDynamicStyles" content="">
    <link href="./_mw_/ext.gadget.large-font.css" rel="stylesheet" type="text/css">
    <link href="./_mw_/ext.gadget.text-spacing.css" rel="stylesheet" type="text/css">
    <link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
    <link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
    <link rel="stylesheet" type="text/css" href="./_res_/footer.css">
    <link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
  </head>
  <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Lua rootpage-Lua skin-vector-2022 action-view">
    <div class="mw-page-container">
      <div class="mw-page-container-inner">
        <div class="mw-content-container">
          <main id="content" class="mw-body">
            <header class="mw-body-header vector-page-titlebar">
              <h1 id="firstHeading" class="firstHeading mw-first-heading"><span lang="zh" dir="ltr"><span class="mw-page-title-main">Lua</span></span></h1>
            </header>
            <a id="top"></a>
            <div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
              <div id="contentSub">
                <div id="mw-content-subtitle"></div>
              </div>
              <div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="zh" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="zh" dir="ltr"><div id="noteTA-7258a568" class="noteTA"><div class="noteTA-group"><div data-noteta-group-source="module" data-noteta-group="IT"></div><div data-noteta-group-source="module" data-noteta-group="Copyright"></div></div><div class="noteTA-local"><div data-noteta-code="zh:可扩展; zh-hans:可扩展; zh-hant:可擴充;"></div></div></div>
<style data-mw-deduplicate="TemplateStyles:r85100532">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .hatnote{font-size:small}.mw-parser-output div.hatnote{padding-left:2em;margin-bottom:0.8em;margin-top:0.8em}.mw-parser-output .hatnote-notice-img::after{content:"\202f \202f \202f \202f "}.mw-parser-output .hatnote-notice-img-small::after{content:"\202f \202f "}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}body.skin-minerva .mw-parser-output .hatnote-notice-img,body.skin-minerva .mw-parser-output .hatnote-notice-img-small{display:none}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end   https://zh.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable"><span class="noviewer hatnote-notice-img" typeof="mw:File"><img alt="" src="./_assets_/0c70a452f799bfe840676ee341124611/Disambig_gray.svg.png" decoding="async" width="25" height="19" class="mw-file-element" data-file-width="220" data-file-height="168" loading="lazy"></span>此條目介紹的是一种程式語言。关于“Lua”的其他意思，请见「<b><a href="%E5%8D%A2%E9%98%BF" class="mw-disambig" title="卢阿">卢阿</a></b>」。</div>

<style data-mw-deduplicate="TemplateStyles:r88180077">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}body.skin-minerva .mw-parser-output .infobox-header,body.skin-minerva .mw-parser-output .infobox-subheader,body.skin-minerva .mw-parser-output .infobox-above,body.skin-minerva .mw-parser-output .infobox-title,body.skin-minerva .mw-parser-output .infobox-image,body.skin-minerva .mw-parser-output .infobox-full-data,body.skin-minerva .mw-parser-output .infobox-below{text-align:center}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}html.skin-theme-clientpref-night .mw-parser-output .infobox td div:not(.notheme)[style]{background:transparent!important;color:var(--color-base,#202122)}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox td div:not(.notheme)[style]{background:transparent!important;color:var(--color-base,#202122)}}html.skin-theme-clientpref-night .mw-parser-output .infobox td div.NavHead:not(.notheme)[style]{background:transparent!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox td div.NavHead:not(.notheme)[style]{background:transparent!important}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end   https://zh.wikipedia.org/ */
</style><table class="infobox vevent"><caption class="infobox-title summary">Lua</caption><tbody><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"><img src="./_assets_/0c70a452f799bfe840676ee341124611/Lua-Logo.svg.png" decoding="async" width="160" height="160" class="mw-file-element" data-file-width="947" data-file-height="947" loading="lazy"></span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="%E7%BC%96%E7%A8%8B%E8%8C%83%E5%9E%8B" title="编程范型">编程范型</a></th><td class="infobox-data" style=""><a href="%E5%A4%9A%E9%87%8D%E7%BC%96%E7%A8%8B%E8%8C%83%E5%BC%8F" class="mw-redirect" title="多重编程范式">多范型</a>：<a href="%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80" title="脚本语言">脚本</a>，<a href="%E6%8C%87%E4%BB%A4%E5%BC%8F%E7%B7%A8%E7%A8%8B" title="指令式編程">指令式</a>（<a href="%E8%BF%87%E7%A8%8B%E5%BC%8F%E7%BC%96%E7%A8%8B" title="过程式编程">过程式</a>，<a href="%E5%9F%BA%E4%BA%8E%E5%8E%9F%E5%9E%8B%E7%BC%96%E7%A8%8B" title="基于原型编程">基于原型</a>，<a href="%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1" title="面向对象程序设计">面向对象</a>），<a href="%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B" title="函数式编程">函数式</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">設計者</th><td class="infobox-data" style=""><a href="Roberto_Ierusalimschy" class="mw-redirect" title="Roberto Ierusalimschy">Roberto Ierusalimschy</a><br>Waldemar Celes<br>Luiz Henrique de Figueiredo</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">发行时间</th><td class="infobox-data" style="">1993年<span style="display:none">​（<span class="bday dtstart published updated">1993</span>）</span></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">当前版本</th><td class="infobox-data" style=""><style data-mw-deduplicate="TemplateStyles:r82655520">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}


/* end   https://zh.wikipedia.org/ */
</style><div class="plainlist"><ul><li>5.5<span style="font-size:85%">（2025年12月22日；穩定版本）</span><sup id="cite_ref-wikidata-2c354affd7152198918c292630c9c4314aa68c15-v3_1-0" class="reference"><a href="#cite_note-wikidata-2c354affd7152198918c292630c9c4314aa68c15-v3-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></li></ul>
</div> </td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="%E9%A1%9E%E5%9E%8B%E7%B3%BB%E7%B5%B1" title="類型系統">型態系統</a></th><td class="infobox-data" style=""><a href="%E7%B1%BB%E5%9E%8B%E7%B3%BB%E7%BB%9F" class="mw-redirect" title="类型系统">动态</a>、<a href="%E7%B1%BB%E5%9E%8B%E7%B3%BB%E7%BB%9F" class="mw-redirect" title="类型系统">强类型</a>、<a href="%E9%B8%AD%E5%AD%90%E7%B1%BB%E5%9E%8B" title="鸭子类型">鸭子</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">實作語言</th><td class="infobox-data" style=""><a href="ANSI_C" title="ANSI C">ANSI C</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F" title="操作系统">操作系统</a></th><td class="infobox-data" style=""><a href="%E8%B7%A8%E5%B9%B3%E5%8F%B0" class="mw-redirect" title="跨平台">跨平台</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="%E8%BD%AF%E4%BB%B6%E8%AE%B8%E5%8F%AF%E8%AF%81" title="软件许可证">許可證</a></th><td class="infobox-data" style=""><a href="MIT%E8%A8%B1%E5%8F%AF%E8%AD%89" title="MIT許可證">MIT許可證</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="%E6%96%87%E4%BB%B6%E6%89%A9%E5%B1%95%E5%90%8D" title="文件扩展名">文件扩展名</a></th><td class="infobox-data" style="">.lua</td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">網站</th><td class="infobox-data" style=""><span class="url"><a rel="nofollow" class="external text" href="https://www.lua.org/">www<wbr>.lua<wbr>.org</a></span></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;;">主要實作產品</th></tr><tr><td colspan="2" class="infobox-full-data" style=""><a rel="nofollow" class="external text" href="https://www.lua.org/download.html">Lua</a>, <span class="ilh-all" data-orig-title="LuaJIT" data-lang-code="en" data-lang-name="英语" data-foreign-title="LuaJIT"><span class="ilh-page">LuaJIT</span></span>, <a rel="nofollow" class="external text" href="https://eliasdaler.github.io/luavela/">LuaVela</a>, 
<a rel="nofollow" class="external text" href="https://www.moonsharp.org/">MoonSharp</a>, <a rel="nofollow" class="external text" href="https://luvit.io">Luvit</a>, <a rel="nofollow" class="external text" href="https://www.luart.org">LuaRT</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;;">衍生副語言</th></tr><tr><td colspan="2" class="infobox-full-data" style=""><a rel="nofollow" class="external text" href="http://metalua.luaforge.net/">Metalua</a>, <a rel="nofollow" class="external text" href="http://idle.thomaslauer.com">Idle</a>, <a rel="nofollow" class="external text" href="https://www.nongnu.org/gsl-shell/">GSL Shell</a>, <a rel="nofollow" class="external text" href="https://luau-lang.org">Luau</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;;">受影响于</th></tr><tr><td colspan="2" class="infobox-full-data" style=""><a href="Scheme" title="Scheme">Scheme</a>、<a href="SNOBOL" title="SNOBOL">SNOBOL</a>、<a href="Modula-2" title="Modula-2">Modula-2</a>、<a href="CLU" title="CLU">CLU</a>、<a href="C%2B%2B" title="C++">C++</a></td></tr><tr><th colspan="2" class="infobox-header" style="background-color: #eee;;">影響語言</th></tr><tr><td colspan="2" class="infobox-full-data" style=""><span class="ilh-all" data-orig-title="GameMonkey Script" data-lang-code="en" data-lang-name="英语" data-foreign-title="GameMonkey Script"><span class="ilh-page">GameMonkey</span></span>, <a href="Io_(%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80)" class="mw-redirect" title="Io (编程语言)">Io</a>, <a href="JavaScript" title="JavaScript">JavaScript</a>, <a href="Julia_(%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80)" class="mw-redirect" title="Julia (编程语言)">Julia</a>, MiniD, <span class="ilh-all" data-orig-title="Red (编程语言)" data-lang-code="en" data-lang-name="英语" data-foreign-title="Red (programming language)"><span class="ilh-page">Red</span></span>, Ring<sup id="cite_ref-The_Ring_programming_language_and_other_languages_2-0" class="reference"><a href="#cite_note-The_Ring_programming_language_and_other_languages-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>, <a href="Ruby" title="Ruby">Ruby</a>, <span class="ilh-all" data-orig-title="Squirrel (编程语言)" data-lang-code="en" data-lang-name="英语" data-foreign-title="Squirrel (programming language)"><span class="ilh-page">Squirrel</span></span>, MoonScript, <span class="ilh-all" data-orig-title="C--" data-lang-code="en" data-lang-name="英语" data-foreign-title="C--"><span class="ilh-page">C--</span></span></td></tr></tbody></table>
<p><b>Lua</b>（<span class="nowrap"><small>發音： </small><span class="IPA nopopups" lang="en-fonipa">/<span style="border-bottom:1px dotted"><span title="/ˈ/：後面為主重音">ˈ</span><span title="「lie」的「l」音">l</span><span title="/uː/：「goose」的「oo」音">uː</span><span title="/ə/：「about」的「a」音">ə</span></span>/</span></span>，詞源<a href="%E8%91%A1%E8%90%84%E7%89%99%E8%AF%AD" class="mw-redirect" title="葡萄牙语">葡萄牙语</a>“月亮”）是一个简洁、轻量、可扩展的<a href="%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80" title="脚本语言">脚本语言</a>。Lua有着相对简单的<a href="C%E8%AF%AD%E8%A8%80" title="C语言">C语言</a><a href="API" class="mw-redirect" title="API">API</a>而很容易嵌入应用中<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>。很多应用程序使用Lua作为自己的嵌入式脚本语言，以此来实现可配置性、可扩展性<sup id="cite_ref-luaspe_4-0" class="reference"><a href="#cite_note-luaspe-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>。
</p>

<div class="mw-heading mw-heading2"><h2 id="历史"><span id=".E5.8E.86.E5.8F.B2"></span>历史</h2></div>
<div class="thumb tright">
<div class="thumbinner" style="width: 202px;">
<div class="thumbimage" style="width: 200px; height: 300px; overflow: hidden;">
<div style="position: relative; top: -20px; left: -190px; width: 600px"><div class="noresize"><span typeof="mw:File"><img alt="罗伯托·耶鲁萨林斯希，Lua语言的开发者" src="./_assets_/0c70a452f799bfe840676ee341124611/Roberto_Ierusalimschy.png" decoding="async" width="600" height="746" class="mw-file-element" data-file-width="988" data-file-height="1228" loading="lazy"></span></div></div>
</div>
<div class="thumbcaption">
<a href="%E7%BD%97%E4%BC%AF%E6%89%98%C2%B7%E8%80%B6%E9%B2%81%E8%90%A8%E6%9E%97%E6%96%AF%E5%B8%8C" title="罗伯托·耶鲁萨林斯希">罗伯托·耶鲁萨林斯希</a>，Lua语言的开发者
</div>
</div>
</div>
<p>Lua是在1993年由<a href="%E7%BD%97%E4%BC%AF%E6%89%98%C2%B7%E8%80%B6%E9%B2%81%E8%90%A8%E6%9E%97%E6%96%AF%E5%B8%8C" title="罗伯托·耶鲁萨林斯希">罗伯托·耶鲁萨林斯希</a>、Luiz Henrique de Figueiredo和Waldemar Celes创建的，他们当时是<a href="%E5%B7%B4%E8%A5%BF" title="巴西">巴西</a>的<a href="%E9%87%8C%E7%BA%A6%E7%83%AD%E5%86%85%E5%8D%A2%E5%A4%A9%E4%B8%BB%E6%95%99%E5%A4%A7%E5%AD%A6" title="里约热内卢天主教大学">里约热内卢天主教大学</a>的计算机图形技术组（Tecgraf）成员。Lua的先驱是数据描述/配置语言“SOL”（简单对象语言）和“DEL”（数据录入语言）<sup id="cite_ref-luahist2001_5-0" class="reference"><a href="#cite_note-luahist2001-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>。他们于1992年–1993年在Tecgraf独立开发了需要增加灵活性的两个不同项目（都是用于工程应用的交互式图形程序）。在SOL和DEL中缺乏很多控制流结构，需要向它们增加完全的编程能力。
</p><p>在《The Evolution of Lua》中，这门语言的作者写道<sup id="cite_ref-hopl2007_6-0" class="reference"><a href="#cite_note-hopl2007-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>：
</p>
<style data-mw-deduplicate="TemplateStyles:r61209892">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .templatequote{margin-top:0;overflow:hidden}.mw-parser-output .templatequote .templatequotecite{line-height:1em;text-align:left;padding-left:2em;margin-top:0}.mw-parser-output .templatequote .templatequotecite cite{font-size:small}


/* end   https://zh.wikipedia.org/ */
</style><blockquote class="templatequote"><p>在1993年，唯一真正的竞争者是<a href="Tcl" title="Tcl">Tcl</a>，它已经明确的设计用于嵌入到应用之中。但是，Tcl有着不熟知的语法，未对数据描述提供良好的支持，并且只在Unix平台上运行。我们不考虑<a href="LISP" title="LISP">LISP</a>或<a href="Scheme" title="Scheme">Scheme</a>，因为它们有着不友好的语法。<a href="Python" title="Python">Python</a>仍处在幼年期。在Tecgraf的自由的自力更生氛围下，我们非常自然的尝试开发自己的脚本语言 ... 由于这门语言的很多潜在用户不是专业编程者，语言应当避免神秘的语法和语义。新语言的实现应当是高度可移植的，因为Tecgraf的客户有着非常多样的各种计算机平台。最后，由于我们预期Tecgraf的其他产品也需要嵌入脚本语言，新语言应当追随SOL的例子并提供为带有C API的库。</p></blockquote>
<p>Lua主要受到了下列前辈语言的影响：
</p>
<ul><li><a href="Modula-2" title="Modula-2">Modula-2</a>：从中引入了大部份控制结构<span class="ilh-all" data-orig-title="语法 (编程语言)" data-lang-code="en" data-lang-name="英语" data-foreign-title="Syntax (programming languages)"><span class="ilh-page">语法</span></span>，<code>if</code>、<code>while</code>、<code>repeat</code>/<code>until</code>。</li>
<li><a href="CLU" title="CLU">CLU</a>：多赋值和从函数调用的多个返回值，这是对<a href="%E6%B1%82%E5%80%BC%E7%AD%96%E7%95%A5#传引用调用" title="求值策略">引用参数</a>或显式<a href="%E6%8C%87%E9%92%88_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%BC%96%E7%A8%8B)" class="mw-redirect" title="指针 (计算机编程)">指针</a>的更简单的替代。</li>
<li><a href="C%2B%2B" title="C++">C++</a>：“允许<a href="%E5%B1%80%E9%83%A8%E5%8F%98%E9%87%8F" title="局部变量">局部变量</a>只在需要的地方声明的灵巧想法”<sup id="cite_ref-hopl2007_6-1" class="reference"><a href="#cite_note-hopl2007-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>。</li>
<li><a href="SNOBOL" title="SNOBOL">SNOBOL</a>和<a href="AWK" title="AWK">AWK</a>：<a href="%E5%85%B3%E8%81%94%E6%95%B0%E7%BB%84" title="关联数组">关联数组</a>。</li>
<li><a href="LISP" title="LISP">LISP</a>和<a href="Scheme" title="Scheme">Scheme</a>：在发表于《<span class="ilh-all" data-orig-title="Dr. Dobb's Journal" data-lang-code="en" data-lang-name="英语" data-foreign-title="Dr. Dobb's Journal"><span class="ilh-page">Dr. Dobb's Journal</span></span>》的文章中，Lua的创立者还声称，有着单一且无所不在的数据结构机制（<a href="%E5%88%97%E8%A1%A8_(%E6%8A%BD%E8%B1%A1%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B)" class="mw-redirect" title="列表 (抽象数据类型)">列表</a>）的<a href="LISP" title="LISP">LISP</a>和<a href="Scheme" title="Scheme">Scheme</a>，对他们决定将表格开发为Lua的主要数据结构起到了主要影响<sup id="cite_ref-ddj96_7-0" class="reference"><a href="#cite_note-ddj96-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>。Lua的<a href="%E8%AF%AD%E4%B9%89" class="mw-redirect" title="语义">语义</a>久而久之日趋受到Scheme的影响<sup id="cite_ref-hopl2007_6-2" class="reference"><a href="#cite_note-hopl2007-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>，特别是介入了<a href="%E5%8C%BF%E5%90%8D%E5%87%BD%E6%95%B0" title="匿名函数">匿名函数</a>和完全的<a href="%E4%BD%9C%E7%94%A8%E5%9F%9F" title="作用域">词法作用域</a>。</li></ul>
<p>Lua在版本5.0之前在类似<a href="BSD%E8%AE%B8%E5%8F%AF%E8%AF%81" title="BSD许可证">BSD许可证</a>之下发行。自从版本5.0以来，Lua采用了<a href="MIT%E8%AE%B8%E5%8F%AF%E8%AF%81" class="mw-redirect" title="MIT许可证">MIT许可证</a>。
</p>
<div class="mw-heading mw-heading2"><h2 id="特性"><span id=".E7.89.B9.E6.80.A7"></span>特性</h2></div>
<p>Lua是一种轻量语言，它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用ANSI C语言编写<sup id="cite_ref-luaabout_8-0" class="reference"><a href="#cite_note-luaabout-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>，并以源代码形式开放，编译后的完整参考<a href="%E8%A7%A3%E9%87%8A%E5%99%A8" class="mw-redirect" title="解释器">解释器</a>只有大约247<a href="%E5%8D%83%E5%AD%97%E8%8A%82" title="千字节">kB</a><sup id="cite_ref-luaabout_8-1" class="reference"><a href="#cite_note-luaabout-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>，到5.4.3版本，该体积变成283<a href="%E5%8D%83%E5%AD%97%E8%8A%82" title="千字节">kB</a>（Linux,amd64），依然非常小巧，可以很方便的嵌入别的程式裡。和许多“大而全”的语言不一样，網路通訊、图形界面等都没有預設提供。但是Lua可以很容易地被扩展：由宿主语言（通常是C或C++）提供这些功能，Lua可以使用它们，就像是本来就内置的功能一样。事实上，现在已经有很多成熟的扩展模块可供选用。
</p><p>Lua是一个<a href="%E5%8A%A8%E6%80%81%E7%B1%BB%E5%9E%8B" class="mw-redirect" title="动态类型">动态类型</a>语言，支援增量式<a href="%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8)" title="垃圾回收 (計算機科學)">垃圾收集</a>策略。有内建的，与操作系统无关的<a href="%E5%8D%8F%E7%A8%8B" title="协程">协作式多线程</a>支援。Lua原生支援的数据类型很少，只提供了数值（默认是<a href="%E6%B5%AE%E9%BB%9E%E6%95%B8" class="mw-redirect" title="浮點數">双精度浮点数</a>，可配置）、布尔量、<a href="%E5%AD%97%E7%AC%A6%E4%B8%B2" title="字符串">字符串</a>、表格、<a href="%E5%AD%90%E7%A8%8B%E5%BA%8F" title="子程序">函数</a>、<a href="%E7%BA%BF%E7%A8%8B" title="线程">线程</a>以及用户自定义数据这几种。但是其处理表和字符串的效率非常之高，加上元表的支援，开发者可以高效的模拟出需要的复杂数据类型（比如集合、数组等）。
</p>
<div class="mw-heading mw-heading2"><h2 id="语法和语义"><span id=".E8.AF.AD.E6.B3.95.E5.92.8C.E8.AF.AD.E4.B9.89"></span>语法和语义</h2></div>
<p>Lua是一种多重<a href="%E7%BC%96%E7%A8%8B%E8%8C%83%E5%9E%8B" title="编程范型">编程范型</a>的程式设计语言：它只提供了很小的一个特性集合来满足不同编程范型的需要，而不是为某种特定的编程范型提供繁杂的特性支援。例如，Lua并不提供<a href="%E7%BB%A7%E6%89%BF_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" title="继承 (计算机科学)">继承</a>这个特性，但是你可以用元表格来模拟它。诸如<a href="%E5%91%BD%E5%90%8D%E7%A9%BA%E9%97%B4" title="命名空间">命名空间</a>、<a href="%E7%B1%BB_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" title="类 (计算机科学)">类</a>这些概念都没有在语言基本特性中实现，但是我们可以用表格结构（Lua唯一提供的复杂数据结构）轻易模拟。正是提供了这些基本的元特性，我们可以任意的对语言进行自需的改造。
</p><p>Lua实现了少量的高级特征比如<a href="%E5%A4%B4%E7%AD%89%E5%87%BD%E6%95%B0" title="头等函数">头等函数</a>、<a href="%E5%9E%83%E5%9C%BE%E5%9B%9E%E6%94%B6_(%E8%A8%88%E7%AE%97%E6%A9%9F%E7%A7%91%E5%AD%B8)" title="垃圾回收 (計算機科學)">垃圾回收</a>、<a href="%E9%97%AD%E5%8C%85_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" title="闭包 (计算机科学)">闭包</a>、正当<a href="%E5%B0%BE%E8%B0%83%E7%94%A8" title="尾调用">尾调用</a>、<a href="%E7%B1%BB%E5%9E%8B%E8%BD%AC%E6%8D%A2" title="类型转换">类型转换</a>（于运行时间在字符串和数值之间自动转换）、<a href="%E5%8D%8F%E7%A8%8B" title="协程">协程</a>（协作多任务）和<a href="%E5%8B%95%E6%85%8B%E8%A3%9D%E8%BC%89" title="動態裝載">动态模块装载</a>。
</p>
<div class="mw-heading mw-heading3"><h3 id="词法"><span id=".E8.AF.8D.E6.B3.95"></span>词法</h3></div>
<p>经典的<a href="Hello_World" title="Hello World">Hello World!</a>程序可以写为如下<sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup>：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="s2">"Hello World!"</span><span class="p">)</span>
</pre></div>
<p>或者如下：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nb">print</span><span class="w"> </span><span class="s1">'Hello World'</span><span class="w"> </span>
<span class="nb">print</span><span class="w"> </span><span class="s">[[Hello World]]</span>
</pre></div>
<p>在Lua中<a href="%E6%B3%A8%E9%87%8A_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%AF%AD%E8%A8%80)" class="mw-redirect" title="注释 (计算机语言)">注释</a>可以于双<a href="%E8%BF%9E%E5%AD%97%E7%AC%A6" class="mw-redirect" title="连字符">连字符</a>并行至此行的结束，类似于<a href="Ada" title="Ada">Ada</a>、<a href="Eiffel" title="Eiffel">Eiffel</a>、<a href="Haskell" title="Haskell">Haskell</a>、<a href="SQL" title="SQL">SQL</a>和<a href="VHDL" title="VHDL">VHDL</a>。多行字符串和注释用双方括号来装饰。
</p><p>下例中实现了一个<a href="%E9%98%B6%E4%B9%98" class="mw-redirect" title="阶乘">阶乘</a>函数：
</p>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="hll"><span class="linenos" data-line="1"></span><span class="kd">local</span><span class="w"> </span><span class="kr">function</span><span class="w"> </span><span class="nf">factorial</span><span class="p">(</span><span class="nv">nbr</span><span class="p">)</span><span class="w"> </span><span class="c1">-- 输入参数 nbr 为整数</span>
</span><span class="linenos" data-line="2"></span><span class="w">    </span><span class="kd">local</span><span class="w"> </span><span class="nv">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="c1">-- 将局部结果初始化为 1</span>
<span class="linenos" data-line="3"></span><span class="w">    </span><span class="kr">for</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="nv">nbr</span><span class="w"> </span><span class="kr">do</span><span class="w"> </span><span class="c1">-- 从 2 到 nbr 的循环</span>
<span class="linenos" data-line="4"></span><span class="w">        </span><span class="nv">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">res</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nv">idx</span>
<span class="linenos" data-line="5"></span><span class="w">    </span><span class="kr">end</span>
<span class="linenos" data-line="6"></span><span class="w">    </span><span class="kr">return</span><span class="w"> </span><span class="nv">res</span><span class="w"> </span><span class="c1">-- 返回 nbr 的阶乘</span>
<span class="linenos" data-line="7"></span><span class="kr">end</span>
<span class="hll"><span class="linenos" data-line="8"></span><span class="nb">print</span><span class="p">(</span><span class="nf">factorial</span><span class="p">(</span><span class="mi">5</span><span class="p">))</span>
</span></pre></div></blockquote>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="9"></span><span class="mi">120</span>
</pre></div></blockquote>
<div class="mw-heading mw-heading3"><h3 id="控制流"><span id=".E6.8E.A7.E5.88.B6.E6.B5.81"></span>控制流</h3></div>
<p>Lua有一种类型的<a href="%E6%A2%9D%E4%BB%B6_(%E7%B7%A8%E7%A8%8B)" title="條件 (編程)">条件</a>测试：<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">if</span><span class="w"> </span><span class="kr">then</span><span class="w"> </span><span class="kr">end</span></code>，它具有可选的<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">else</span></code>和<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">elseif</span><span class="w"> </span><span class="kr">then</span></code>执行控制构造。
</p><p>通用的<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">if</span><span class="w"> </span><span class="kr">then</span><span class="w"> </span><span class="kr">end</span></code>语句需要三个关键字:
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="hll"><span class="kr">if</span><span class="w"> </span><span class="nv">condition</span><span class="w"> </span><span class="kr">then</span>
</span><span class="w">	</span><span class="c1">--当 condition 为 true 时执行的语句体</span>
<span class="kr">end</span>
</pre></div>
<p>可以增加<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">else</span></code>关键字来控制执行，它随同着在<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">if</span></code>条件求值为<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kc">false</span></code>之时执行的语句块：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">if</span><span class="w"> </span><span class="nv">condition</span><span class="w"> </span><span class="kr">then</span>
<span class="w">	</span><span class="c1">--当 condition 为 true 时执行的语句体</span>
<span class="hll"><span class="kr">else</span>
</span><span class="w">	</span><span class="c1">--当上述条件都为 false 时执行的可选默认语句体</span>
<span class="kr">end</span>
</pre></div>
<p>还可以使用<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">elseif</span><span class="w"> </span><span class="kr">then</span></code>关键字依据多个条件来控制执行：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">if</span><span class="w"> </span><span class="nv">condition1</span><span class="w"> </span><span class="kr">then</span>
<span class="w">	</span><span class="c1">-- 当 condition1 为 true 时执行的语句体</span>
<span class="hll"><span class="kr">elseif</span><span class="w"> </span><span class="nv">condition2</span><span class="w"> </span><span class="kr">then</span>
</span><span class="w">	</span><span class="c1">-- 当 condition1 为 false 且 condition2 为 true 时执行的语句体</span>
<span class="kr">else</span><span class="w"> </span><span class="c1">-- 可选</span>
<span class="w">	</span><span class="c1">-- 当上述条件都为 false 时执行的可选默认语句体</span>
<span class="kr">end</span>
</pre></div>
<p>Lua有四种类型的<a href="%E8%BF%B4%E5%9C%88" title="迴圈">循环</a>：<a href="While%E8%BF%B4%E5%9C%88" title="While迴圈"><code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">while</span></code>循环</a>、<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">repeat</span></code>循环（类似于<a href="Do-while%E5%BE%AA%E7%8E%AF" title="Do-while循环"><code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">do</span><span class="w"> </span><span class="kr">while</span></code>循环</a>）、数值<a href="For%E8%BF%B4%E5%9C%88" title="For迴圈"><code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">for</span></code>循环</a>和通用<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">for</span></code>循环。
</p>
<dl><dt>while</dt></dl>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="nv">condition</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">true</span><span class="w"> </span><span class="c1">-- 进入 while 循环的条件</span>
<span class="linenos" data-line="2"></span>
<span class="linenos" data-line="3"></span><span class="kr">while</span><span class="w"> </span><span class="nv">condition</span><span class="w"> </span><span class="kr">do</span>
<span class="linenos" data-line="4"></span><span class="w">  </span><span class="c1">-- 在这里修改 condition 为 false，以避免无限循环</span>
<span class="linenos" data-line="5"></span><span class="kr">end</span>
</pre></div>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="cm">--[[注意：如果循环无响应，请关闭模块：Example 或关闭浏览器]]</span><span class="c1">--</span>
<span class="linenos" data-line="2"></span><span class="kd">local</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="w">     </span><span class="c1">-- 初始计数器值</span>
<span class="linenos" data-line="3"></span><span class="c1">-- 将 condition 变量设为 false 的语句以避免无限循环</span>
<span class="hll"><span class="linenos" data-line="4"></span><span class="kr">while</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">&lt;=</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="kr">do</span><span class="w"> </span><span class="c1">-- 当 idx 小于或等于 5 时循环（为避免无限循环）</span>
</span><span class="linenos" data-line="5"></span><span class="w">  </span><span class="nb">print</span><span class="p">(</span><span class="nv">idx</span><span class="p">)</span><span class="w">      </span><span class="c1">-- 在调试控制台输出当前计数器值</span>
<span class="hll"><span class="linenos" data-line="6"></span><span class="w">  </span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="w">   </span><span class="c1">-- 在每次迭代中增加计数器，以确保循环结束</span>
</span><span class="linenos" data-line="7"></span><span class="kr">end</span><span class="w">               </span><span class="c1">-- 循环结束时 idx 的值将为 6。</span>
<span class="linenos" data-line="8"></span><span class="nb">print</span><span class="p">(</span><span class="s2">"while 循环之外、idx = "</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">idx</span><span class="p">)</span>
</pre></div></blockquote>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="9"></span><span class="mi">1</span>
<span class="linenos" data-line="10"></span><span class="mi">2</span>
<span class="linenos" data-line="11"></span><span class="mi">3</span>
<span class="linenos" data-line="12"></span><span class="mi">4</span>
<span class="linenos" data-line="13"></span><span class="mi">5</span>
<span class="linenos" data-line="14"></span><span class="kr">while</span><span class="w"> </span><span class="err">循环之外、</span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">6</span>
</pre></div></blockquote>
<dl><dt>repeat</dt></dl>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="nv">condition</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kc">false</span><span class="w"> </span><span class="c1">-- 在 repeat 循环中至少循环一次的条件</span>
<span class="linenos" data-line="2"></span><span class="kr">repeat</span>
<span class="linenos" data-line="3"></span><span class="w">  </span><span class="c1">-- 在这里将 condition 修改为 true，以避免无限循环</span>
<span class="linenos" data-line="4"></span><span class="kr">until</span><span class="w"> </span><span class="nv">condition</span>
</pre></div>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="kd">local</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="w">     </span><span class="c1">-- 初始计数器值</span>
<span class="hll"><span class="linenos" data-line="2"></span><span class="kr">repeat</span>
</span><span class="linenos" data-line="3"></span><span class="w">  </span><span class="nb">print</span><span class="p">(</span><span class="nv">idx</span><span class="p">)</span><span class="w">      </span><span class="c1">-- 在调试控制台输出当前计数器值</span>
<span class="hll"><span class="linenos" data-line="4"></span><span class="w">  </span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="w">   </span><span class="c1">-- 在每次迭代中增加计数器，以确保循环结束</span>
</span><span class="linenos" data-line="5"></span><span class="w">  </span><span class="c1">-- 将 condition 变量设为 true 的语句以避免无限循环</span>
<span class="hll"><span class="linenos" data-line="6"></span><span class="kr">until</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">&gt;</span><span class="w"> </span><span class="mi">5</span><span class="w">     </span><span class="c1">-- 循环结束时 idx 的值将为 6。</span>
</span><span class="linenos" data-line="7"></span><span class="nb">print</span><span class="p">(</span><span class="s2">"repeat 循环之外、idx = "</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">idx</span><span class="p">)</span>
</pre></div></blockquote>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="8"></span><span class="mi">1</span>
<span class="linenos" data-line="9"></span><span class="mi">2</span>
<span class="linenos" data-line="10"></span><span class="mi">3</span>
<span class="linenos" data-line="11"></span><span class="mi">4</span>
<span class="linenos" data-line="12"></span><span class="mi">5</span>
<span class="linenos" data-line="13"></span><span class="kr">repeat</span><span class="w"> </span><span class="err">循环之外、</span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">6</span>
</pre></div></blockquote>
<dl><dt>for</dt></dl>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="kr">for</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">first</span><span class="p">,</span><span class="w"> </span><span class="nv">last</span><span class="p">,</span><span class="w"> </span><span class="nv">delta</span><span class="w"> </span><span class="kr">do</span><span class="w">  </span><span class="c1">--delta可以是负数，允许计数增加或减少的循环</span>
<span class="linenos" data-line="2"></span><span class="w">  </span><span class="c1">-- 使用 idx 的语句</span>
<span class="linenos" data-line="3"></span><span class="w">  </span><span class="c1">-- 例如：print(idx)</span>
<span class="linenos" data-line="4"></span><span class="kr">end</span>
</pre></div>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="hll"><span class="linenos" data-line="1"></span><span class="kr">for</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="w"> </span><span class="kr">do</span><span class="w"> </span><span class="c1">-- for idx = 从, 到</span>
</span><span class="linenos" data-line="2"></span><span class="w">    </span><span class="nb">print</span><span class="p">(</span><span class="nv">idx</span><span class="p">)</span>
<span class="linenos" data-line="3"></span><span class="kr">end</span>
<span class="linenos" data-line="4"></span><span class="c1">-- 变量 idx 在 for 循环外不可见</span>
</pre></div></blockquote>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="5"></span><span class="mi">1</span>
<span class="linenos" data-line="6"></span><span class="mi">2</span>
<span class="linenos" data-line="7"></span><span class="mi">3</span>
<span class="linenos" data-line="8"></span><span class="mi">4</span>
<span class="linenos" data-line="9"></span><span class="mi">5</span>
</pre></div></blockquote>
<p>通用<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">for</span></code>循环：
</p>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="hll"><span class="linenos" data-line="1"></span><span class="kr">for</span><span class="w"> </span><span class="nv">key</span><span class="p">,</span><span class="w"> </span><span class="nv">value</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nb">pairs</span><span class="p">(</span><span class="nb">_G</span><span class="p">)</span><span class="w"> </span><span class="kr">do</span>
</span><span class="linenos" data-line="2"></span><span class="w">  </span><span class="nb">print</span><span class="p">(</span><span class="s2">"键: "</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">key</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">"、值: "</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nb">tostring</span><span class="p">(</span><span class="nv">value</span><span class="p">))</span>
<span class="linenos" data-line="3"></span><span class="kr">end</span>
</pre></div></blockquote>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="4"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nv">string</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span>
<span class="linenos" data-line="5"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nb">xpcall</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="6"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">package</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span>
<span class="linenos" data-line="7"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nb">rawset</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="8"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">_VERSION</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">Lua</span><span class="w"> </span><span class="mf">5.1</span>
<span class="linenos" data-line="9"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nb">error</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="10"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">pcall</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="11"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">os</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span>
<span class="linenos" data-line="12"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nv">unpack</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="13"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">math</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span>
<span class="linenos" data-line="14"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nb">ipairs</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="15"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">require</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="16"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">rawget</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="17"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">type</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="18"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">setmetatable</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="19"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">next</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="20"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">select</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="21"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">assert</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="22"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">pairs</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="23"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">tonumber</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="24"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">_G</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span>
<span class="linenos" data-line="25"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span>
<span class="linenos" data-line="26"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nb">rawequal</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="27"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">debug</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span>
<span class="linenos" data-line="28"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nv">mw</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="nv">table</span>
<span class="linenos" data-line="29"></span><span class="err">键</span><span class="p">:</span><span class="w"> </span><span class="nb">getmetatable</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
<span class="linenos" data-line="30"></span><span class="nc">键</span><span class="p">:</span><span class="w"> </span><span class="nf">tostring</span><span class="err">、值</span><span class="p">:</span><span class="w"> </span><span class="kr">function</span>
</pre></div></blockquote>
<p>将在表格<code>_G</code>上使用标准迭代器函数<code>pairs</code>进行迭代，直到它返回<code>nil</code>。
</p><p>可以有嵌套的循环，就是在其他循环中的循环。
</p>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="hll"><span class="linenos" data-line="1"></span><span class="kd">local</span><span class="w"> </span><span class="nv">grid</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span>
</span><span class="linenos" data-line="2"></span><span class="w">  </span><span class="p">{</span><span class="w"> </span><span class="mi">11</span><span class="p">,</span><span class="w"> </span><span class="mi">12</span><span class="p">,</span><span class="w"> </span><span class="mi">13</span><span class="w"> </span><span class="p">},</span>
<span class="linenos" data-line="3"></span><span class="w">  </span><span class="p">{</span><span class="w"> </span><span class="mi">21</span><span class="p">,</span><span class="w"> </span><span class="mi">22</span><span class="p">,</span><span class="w"> </span><span class="mi">23</span><span class="w"> </span><span class="p">},</span>
<span class="linenos" data-line="4"></span><span class="w">  </span><span class="p">{</span><span class="w"> </span><span class="mi">31</span><span class="p">,</span><span class="w"> </span><span class="mi">32</span><span class="p">,</span><span class="w"> </span><span class="mi">33</span><span class="w"> </span><span class="p">}</span>
<span class="linenos" data-line="5"></span><span class="p">}</span>
<span class="linenos" data-line="6"></span>
<span class="linenos" data-line="7"></span><span class="kr">for</span><span class="w"> </span><span class="nv">indRow</span><span class="p">,</span><span class="w"> </span><span class="nv">row</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nb">ipairs</span><span class="p">(</span><span class="nv">grid</span><span class="p">)</span><span class="w"> </span><span class="kr">do</span>
<span class="linenos" data-line="8"></span><span class="w">  </span><span class="kr">for</span><span class="w"> </span><span class="nv">indCol</span><span class="p">,</span><span class="w"> </span><span class="nv">value</span><span class="w"> </span><span class="kr">in</span><span class="w"> </span><span class="nb">ipairs</span><span class="p">(</span><span class="nv">row</span><span class="p">)</span><span class="w"> </span><span class="kr">do</span>
<span class="hll"><span class="linenos" data-line="9"></span><span class="w">    </span><span class="nb">print</span><span class="p">(</span><span class="s2">" 行: "</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">indRow</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">"、列: "</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">indCol</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s2">" 值: "</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">grid</span><span class="p">[</span><span class="nv">indRow</span><span class="p">][</span><span class="nv">indCol</span><span class="p">])</span>
</span><span class="linenos" data-line="10"></span><span class="w">  </span><span class="kr">end</span>
<span class="linenos" data-line="11"></span><span class="kr">end</span>
</pre></div></blockquote>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="12"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">11</span>
<span class="linenos" data-line="13"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">12</span>
<span class="linenos" data-line="14"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">13</span>
<span class="linenos" data-line="15"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">21</span>
<span class="linenos" data-line="16"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">22</span>
<span class="linenos" data-line="17"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">23</span>
<span class="linenos" data-line="18"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">31</span>
<span class="linenos" data-line="19"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">2</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">32</span>
<span class="linenos" data-line="20"></span><span class="err">行</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="err">、列</span><span class="p">:</span><span class="w"> </span><span class="mi">3</span><span class="w"> </span><span class="err">值</span><span class="p">:</span><span class="w"> </span><span class="mi">33</span>
</pre></div></blockquote>
<div class="mw-heading mw-heading3"><h3 id="函数"><span id=".E5.87.BD.E6.95.B0"></span>函数</h3></div>
<p>Lua将函数处理为<a href="%E5%A4%B4%E7%AD%89%E5%87%BD%E6%95%B0" title="头等函数">头等</a>值，在下例子中用<code>print</code>函数的表现可以修改来展示：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">do</span>
<span class="w">  </span><span class="kd">local</span><span class="w"> </span><span class="nv">oldprint</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">print</span>
<span class="w">  </span><span class="c1">-- 存储当前的print函数为oldprint</span>
<span class="w">  </span><span class="kr">function</span><span class="w"> </span><span class="nf">print</span><span class="p">(</span><span class="nv">s</span><span class="p">)</span>
<span class="w">    </span><span class="cm">--[[重新定义print函数。新函数只有一个实际参数。</span>
<span class="cm">    平常的print函数仍可以通过oldprint使用。]]</span>
<span class="w">    </span><span class="nf">oldprint</span><span class="p">(</span><span class="nv">s</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="s2">"foo"</span><span class="w"> </span><span class="ow">and</span><span class="w"> </span><span class="s2">"bar"</span><span class="w"> </span><span class="ow">or</span><span class="w"> </span><span class="nv">s</span><span class="p">)</span>
<span class="w">  </span><span class="kr">end</span>
<span class="kr">end</span>
</pre></div>
<p>任何对<code>print</code>的进一步调用都要经由新函数，并且由于Lua的<a href="%E4%BD%9C%E7%94%A8%E5%9F%9F#词法作用域" title="作用域">词法作用域</a>，这个旧的<code>print</code>函数将只能被这个新的修改了的<code>print</code>访问到。
</p><p>Lua还支持<a href="%E9%97%AD%E5%8C%85_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" title="闭包 (计算机科学)">闭包</a>，展示如下：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">function</span><span class="w"> </span><span class="nf">addto</span><span class="p">(</span><span class="nv">x</span><span class="p">)</span>
<span class="w">  </span><span class="c1">-- 返回一个把实际参数加到x上</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">y</span><span class="p">)</span>
<span class="w">    </span><span class="cm">--[=[ 在我们引用变量x的时候，它在当前作用域的外部，</span>
<span class="cm">    它的生命期会比这个匿名函数短，Lua建立一个闭包。]=]</span>
<span class="w">    </span><span class="kr">return</span><span class="w"> </span><span class="nv">x</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">y</span>
<span class="w">  </span><span class="kr">end</span>
<span class="kr">end</span>
<span class="nv">fourplus</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nf">addto</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span>
<span class="nb">print</span><span class="p">(</span><span class="nf">fourplus</span><span class="p">(</span><span class="mi">3</span><span class="p">))</span><span class="w">  </span><span class="c1">-- 打印7</span>

<span class="c1">--这也可以通过如下方式调用这个函数来完成：</span>
<span class="nb">print</span><span class="p">(</span><span class="nf">addto</span><span class="p">(</span><span class="mi">4</span><span class="p">)(</span><span class="mi">3</span><span class="p">))</span>
<span class="cm">--[[这是因为这直接用视件参数3调用了从addto(4)返回的函数。</span>
<span class="cm">    如果经常这么调用的话会减少数据消耗并提升性能。]]</span>
</pre></div>
<p>每次调用的时候为变量<code>x</code>建立新的闭包，所以返回的每个新匿名函数都访问它自己的<code>x</code>参数。闭包由Lua的垃圾收集器来管理，如同任何其他对象一样。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">function</span><span class="w"> </span><span class="nf">create_a_counter</span><span class="p">()</span>
<span class="w">  </span><span class="kd">local</span><span class="w"> </span><span class="nv">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="kr">function</span><span class="p">()</span>
<span class="w">    </span><span class="nv">count</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">count</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span>
<span class="w">    </span><span class="kr">return</span><span class="w"> </span><span class="nv">count</span>
<span class="w">  </span><span class="kr">end</span>
<span class="kr">end</span>
</pre></div>
<p><code>create_a_counter()</code>會返回一個匿名函数，這個匿名函數會把<code>count</code>加<code>1</code>後再回傳。在匿名函數中的變數<code>count</code>的值會一直被保存在匿名函數中。因此调用<code>create_a_counter()</code>时产生一个记数器函数，每次调用记数器函数，都会得到一个比上次大<code>1</code>的值。
</p>
<div class="mw-heading mw-heading3"><h3 id="变量类型"><span id=".E5.8F.98.E9.87.8F.E7.B1.BB.E5.9E.8B"></span>变量类型</h3></div>
<p>Lua是一种动态类型语言，因此语言中没有类型的定义，不需要声明变量类型，每个变量自己保存了类型。
</p><p>有8种基本类型：<a href="%E7%A9%BA%E6%8C%87%E6%A8%99" title="空指標">nil</a>、<a href="%E5%B8%83%E7%88%BE%E5%80%BC" class="mw-redirect" title="布爾值">布尔值</a>（boolean）、<a href="%E6%95%B0" title="数">数字型</a>（number）、<a href="%E5%AD%97%E4%B8%B2" class="mw-redirect" title="字串">字符串型</a>（string）、用户自定义类型（userdata）、<a href="%E5%87%BD%E6%95%B0" title="函数">函数</a>（function）、线程（thread）和表（table）。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="kc">nil</span><span class="p">))</span><span class="w">                    </span><span class="c1">-- 输出 nil</span>
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="mf">99.7</span><span class="o">+</span><span class="mi">12</span><span class="o">*</span><span class="mi">9</span><span class="p">))</span><span class="w">              </span><span class="c1">-- 输出 number</span>
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="kc">true</span><span class="p">))</span><span class="w">                   </span><span class="c1">-- 输出 boolean</span>
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="s2">"Hello Wikipedia"</span><span class="p">))</span><span class="w">      </span><span class="c1">-- 输出 string</span>
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">(</span><span class="nb">print</span><span class="p">))</span><span class="w">                  </span><span class="c1">-- 输出 function</span>
<span class="nb">print</span><span class="p">(</span><span class="nb">type</span><span class="p">({</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="nv">test</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"test"</span><span class="p">}))</span><span class="w">  </span><span class="c1">-- 输出 table</span>
</pre></div>
<div class="mw-heading mw-heading3"><h3 id="表格"><span id=".E8.A1.A8.E6.A0.BC"></span>表格</h3></div>
<p>表格（table）是Lua中最重要的数据结构（并且是设计中唯一内建的<a href="%E5%A4%8D%E5%90%88%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B" class="mw-redirect" title="复合数据类型">复合数据类型</a>），并且是所有用户创建类型的基础。它们是增加了自动数值键和特殊语法的<a href="%E5%85%B3%E8%81%94%E6%95%B0%E7%BB%84" title="关联数组">关联数组</a>。
</p><p>表格是键和数据的有序对的搜集，其中的数据用键来引用；换句话说，它是<a href="%E6%95%A3%E5%88%97%E8%A1%A8" class="mw-redirect" title="散列表">散列</a>异构关联数组。
</p><p>表格使用<code>{}</code>构造器语法来创建。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">a_table</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{}</span><span class="w"> </span><span class="c1">-- 建立一个新的空表格</span>
</pre></div>
<p>表格总是用引用来传递的（参见<a href="%E6%B1%82%E5%80%BC%E7%AD%96%E7%95%A5#传共享调用" title="求值策略">传共享调用</a>）。
</p><p>键（索引）可以是除了<code>nil</code>和<a href="NaN" title="NaN">NaN</a>的任何值，包括函数。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">a_table</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">10</span><span class="p">}</span><span class="w">  </span><span class="c1">-- 建立一个新表格，具有映射"x"到数10的一个表项。</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">a_table</span><span class="p">[</span><span class="s2">"x"</span><span class="p">])</span><span class="w"> </span><span class="c1">-- 打印于这个字符串关联的值，这里是10。</span>
<span class="nv">b_table</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">a_table</span>
<span class="nv">b_table</span><span class="p">[</span><span class="s2">"x"</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">20</span><span class="w">   </span><span class="c1">-- 在表格中的值变更为20。</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">b_table</span><span class="p">[</span><span class="s2">"x"</span><span class="p">])</span><span class="w"> </span><span class="c1">-- 打印20。</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">a_table</span><span class="p">[</span><span class="s2">"x"</span><span class="p">])</span><span class="w"> </span><span class="c1">-- 还是打印20，因为a_table和b_table都引用相同的表格。</span>
</pre></div>
<p>通过使用<a href="%E5%AD%97%E7%AC%A6%E4%B8%B2" title="字符串">字符串</a>作为键，表格经常用作<span class="ilh-all" data-orig-title="对象复合" data-lang-code="en" data-lang-name="英语" data-foreign-title="object composition"><span class="ilh-page">结构</span></span>（或<a href="%E8%AE%B0%E5%BD%95" title="记录">记录</a>）。由于这种用法太常见，Lua为访问这种字段提供了特殊语法<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup>。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">point</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">20</span><span class="w"> </span><span class="p">}</span><span class="w">   </span><span class="c1">-- 建立一个新表格</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">point</span><span class="p">[</span><span class="s2">"x"</span><span class="p">])</span><span class="w">            </span><span class="c1">-- 打印10</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">point</span><span class="p">.</span><span class="py">x</span><span class="p">)</span><span class="w">               </span><span class="c1">-- 同上一行完全相同含义。易读的点只是语法糖。</span>
</pre></div>
<p>通过使用表格来存储有关函数，它可以充当名字空间。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">Point</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{}</span>

<span class="nv">Point</span><span class="p">.</span><span class="py">new</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="p">)</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="p">{</span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">y</span><span class="p">}</span><span class="w">  </span><span class="c1">--  return {["x"] = x, ["y"] = y}</span>
<span class="kr">end</span>

<span class="nv">Point</span><span class="p">.</span><span class="py">set_x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">point</span><span class="p">,</span><span class="w"> </span><span class="nv">x</span><span class="p">)</span>
<span class="w">  </span><span class="nv">point</span><span class="p">.</span><span class="py">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">x</span><span class="w">  </span><span class="c1">--  point["x"] = x;</span>
<span class="kr">end</span>
</pre></div>
<p>表格被自动的赋予了数值键，使得它们可以被用作<span class="ilh-all" data-orig-title="数组数据类型" data-lang-code="en" data-lang-name="英语" data-foreign-title="array data type"><span class="ilh-page">数组数据类型</span></span>。第一个自动索引是<code>1</code>而非<code>0</code>，因为很多其他编程语言都这样（尽管显式的索引<code>0</code>是允许的）。
</p><p>数值键<code>1</code>不同于字符串键<code>"1"</code>。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">array</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="s2">"a"</span><span class="p">,</span><span class="w"> </span><span class="s2">"b"</span><span class="p">,</span><span class="w"> </span><span class="s2">"c"</span><span class="p">,</span><span class="w"> </span><span class="s2">"d"</span><span class="w"> </span><span class="p">}</span><span class="w">   </span><span class="c1">-- 索引被自动赋予。</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">array</span><span class="p">[</span><span class="mi">2</span><span class="p">])</span><span class="w">                  </span><span class="c1">-- 打印"b"。在Lua中自动索引开始于1。</span>
<span class="nb">print</span><span class="p">(</span><span class="o">#</span><span class="nv">array</span><span class="p">)</span><span class="w">                    </span><span class="c1">-- 打印4。#是表格和字符串的长度算符。</span>
<span class="nv">array</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s2">"z"</span><span class="w">                   </span><span class="c1">-- 0是合法索引。</span>
<span class="nb">print</span><span class="p">(</span><span class="o">#</span><span class="nv">array</span><span class="p">)</span><span class="w">                    </span><span class="c1">-- 仍打印4，因为Lua数组是基于1的。</span>
</pre></div>
<p>表格<code>t</code>的长度被定义为任何整数索引<code>n</code>，使得<code>t[n]</code>不是<code>nil</code>而<code>t[n+1]</code>是<code>nil</code>；而且如果<code>t[1]</code>是<code>nil</code>， <code>n</code>可以是<code>0</code>。对于一个正规表格，具有非<code>nil</code>值从<code>1</code>到给定<code>n</code>，它的长度就精确的是<code>n</code>，它的最后的值的索引。如果这个数组有“洞”（就是说在其他非<code>nil</code>值之间的<code>nil</code>值），则<code>#t</code>可以是直接前导于<code>nil</code>值的任何一个索引（就是说可以把任何这种<code>nil</code>值当作数组的结束<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>）。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="nv">ExampleTable</span><span class="w"> </span><span class="o">=</span>
<span class="p">{</span>
<span class="w">  </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">4</span><span class="p">},</span>
<span class="w">  </span><span class="p">{</span><span class="mi">5</span><span class="p">,</span><span class="w"> </span><span class="mi">6</span><span class="p">,</span><span class="w"> </span><span class="mi">7</span><span class="p">,</span><span class="w"> </span><span class="mi">8</span><span class="p">}</span>
<span class="p">}</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">ExampleTable</span><span class="p">[</span><span class="mi">1</span><span class="p">][</span><span class="mi">3</span><span class="p">])</span><span class="w"> </span><span class="c1">-- 打印"3"</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">ExampleTable</span><span class="p">[</span><span class="mi">2</span><span class="p">][</span><span class="mi">4</span><span class="p">])</span><span class="w"> </span><span class="c1">-- 打印"8"</span>
</pre></div>
<p>表格可以是对象的数组。
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kr">function</span><span class="w"> </span><span class="nf">Point</span><span class="p">(</span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="p">)</span><span class="w">        </span><span class="c1">-- "Point"对象构造器</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">y</span><span class="w"> </span><span class="p">}</span><span class="w">   </span><span class="c1">-- 建立并返回新对象（表格）</span>
<span class="kr">end</span>
<span class="nv">array</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="nf">Point</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="w"> </span><span class="mi">20</span><span class="p">),</span><span class="w"> </span><span class="nf">Point</span><span class="p">(</span><span class="mi">30</span><span class="p">,</span><span class="w"> </span><span class="mi">40</span><span class="p">),</span><span class="w"> </span><span class="nf">Point</span><span class="p">(</span><span class="mi">50</span><span class="p">,</span><span class="w"> </span><span class="mi">60</span><span class="p">)</span><span class="w"> </span><span class="p">}</span><span class="w">   </span><span class="c1">-- 建立point的数组</span>
<span class="w">                        </span><span class="c1">-- array = { { x = 10, y = 20 }, { x = 30, y = 40 }, { x = 50, y = 60 } };</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">array</span><span class="p">[</span><span class="mi">2</span><span class="p">].</span><span class="nv">y</span><span class="p">)</span><span class="w">                                         </span><span class="c1">-- 打印40</span>
</pre></div>
<p>使用散列映射来模拟数组通常比使用真正数组要慢；但Lua表格为用作数组而做了优化来避免这个问题<sup id="cite_ref-lobject_h_array_12-0" class="reference"><a href="#cite_note-lobject_h_array-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>。
</p>
<div class="mw-heading mw-heading3"><h3 id="元表格"><span id=".E5.85.83.E8.A1.A8.E6.A0.BC"></span>元表格</h3></div>
<p>可扩展的语义是Lua的关键特征，而“元表格”概念允许以强力方式来定制Lua的表格。下列例子展示了一个“无限”表格。对于任何<code>n</code>，<code>fibs[n]</code>会给出第<code>n</code>个<a href="%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91%E6%95%B0" title="斐波那契数">斐波那契数</a>，使用了<a href="%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92" title="动态规划">动态规划</a>和<a href="%E8%AE%B0%E5%BF%86%E5%8C%96" title="记忆化">记忆化</a>。
</p>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="hll"><span class="linenos" data-line="1"></span><span class="nv">fibs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="p">}</span><span class="w">                                </span><span class="c1">-- 给fibs[1]和fibs[2]初始值。</span>
</span><span class="linenos" data-line="2"></span><span class="nb">setmetatable</span><span class="p">(</span><span class="nv">fibs</span><span class="p">,</span><span class="w"> </span><span class="p">{</span>
<span class="linenos" data-line="3"></span><span class="w">  </span><span class="nv">__index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kr">function</span><span class="p">(</span><span class="nv">values</span><span class="p">,</span><span class="w"> </span><span class="nv">n</span><span class="p">)</span><span class="w">                </span><span class="cm">--[[__index是Lua预定义的函数， </span>
<span class="linenos" data-line="4"></span><span class="cm">                                                   如果"n"不存在则调用它。]]</span>
<span class="hll"><span class="linenos" data-line="5"></span><span class="w">    </span><span class="nv">values</span><span class="p">[</span><span class="nv">n</span><span class="p">]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">values</span><span class="p">[</span><span class="nv">n</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">1</span><span class="p">]</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">values</span><span class="p">[</span><span class="nv">n</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="mi">2</span><span class="p">]</span><span class="w">  </span><span class="c1">-- 计算并记忆化fibs[n]。</span>
</span><span class="linenos" data-line="6"></span><span class="w">    </span><span class="kr">return</span><span class="w"> </span><span class="nv">values</span><span class="p">[</span><span class="nv">n</span><span class="p">]</span>
<span class="linenos" data-line="7"></span><span class="w">  </span><span class="kr">end</span>
<span class="linenos" data-line="8"></span><span class="p">})</span>
<span class="linenos" data-line="9"></span><span class="kd">local</span><span class="w"> </span><span class="nv">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="s1">'斐波那契数: '</span><span class="p">;</span><span class="w"> </span><span class="kr">for</span><span class="w"> </span><span class="nv">idx</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">18</span><span class="w"> </span><span class="kr">do</span><span class="w"> </span><span class="nv">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">res</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="nv">fibs</span><span class="p">[</span><span class="nv">idx</span><span class="p">]</span><span class="w"> </span><span class="o">..</span><span class="w"> </span><span class="s1">'、 '</span><span class="w"> </span><span class="kr">end</span><span class="p">;</span><span class="w"> </span><span class="nb">print</span><span class="p">(</span><span class="nv">res</span><span class="p">)</span>
</pre></div></blockquote>
<blockquote><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span class="linenos" data-line="10"></span><span class="err">斐波那契数</span><span class="p">:</span><span class="w"> </span><span class="mi">1</span><span class="err">、</span><span class="w"> </span><span class="mi">1</span><span class="err">、</span><span class="w"> </span><span class="mi">2</span><span class="err">、</span><span class="w"> </span><span class="mi">3</span><span class="err">、</span><span class="w"> </span><span class="mi">5</span><span class="err">、</span><span class="w"> </span><span class="mi">8</span><span class="err">、</span><span class="w"> </span><span class="mi">13</span><span class="err">、</span><span class="w"> </span><span class="mi">21</span><span class="err">、</span><span class="w"> </span><span class="mi">34</span><span class="err">、</span><span class="w"> </span><span class="mi">55</span><span class="err">、</span><span class="w"> </span><span class="mi">89</span><span class="err">、</span><span class="w"> </span><span class="mi">144</span><span class="err">、</span><span class="w"> </span><span class="mi">233</span><span class="err">、</span><span class="w"> </span><span class="mi">377</span><span class="err">、</span><span class="w"> </span><span class="mi">610</span><span class="err">、</span><span class="w"> </span><span class="mi">987</span><span class="err">、</span><span class="w"> </span><span class="mi">1597</span><span class="err">、</span><span class="w"> </span><span class="mi">2584</span><span class="err">、</span>
</pre></div></blockquote>
<div class="mw-heading mw-heading2"><h2 id="面向对象编程"><span id=".E9.9D.A2.E5.90.91.E5.AF.B9.E8.B1.A1.E7.BC.96.E7.A8.8B"></span>面向对象编程</h2></div>
<p>尽管Lua没有内建的<a href="%E7%B1%BB_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" title="类 (计算机科学)">类</a>的概念，可以用过两个语言特征实现<a href="%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%BC%96%E7%A8%8B" class="mw-redirect" title="面向对象编程">面向对象编程</a>：<a href="%E5%A4%B4%E7%AD%89%E5%87%BD%E6%95%B0" title="头等函数">头等函数</a>和表格。通过放置函数和有关数据入表格，形成一个对象。<a href="%E7%BB%A7%E6%89%BF_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" title="继承 (计算机科学)">继承</a>（单继承和多重继承二者）可以通过使用元表格机制来实现，告诉这个对象在哪些父对象中查找不存在的方法。
</p><p>对于这些技术不采用“类”的概念，而是采用<a href="%E5%9F%BA%E4%BA%8E%E5%8E%9F%E5%9E%8B%E7%BC%96%E7%A8%8B" title="基于原型编程">原型</a>，类似于<a href="Self" class="mw-redirect" title="Self">Self</a>或<a href="JavaScript" title="JavaScript">JavaScript</a>。建立新对象要么通过<a href="%E5%B7%A5%E5%8E%82%E6%96%B9%E6%B3%95%E6%A8%A1%E5%BC%8F" title="工厂方法模式">工厂方法</a>（从头构造一个新对象），要么通过复制现存的对象。
</p><p>建立一个基本的<a href="%E5%90%91%E9%87%8F" title="向量">向量</a>对象：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span><span class="w"> </span><span class="nv">Vector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{}</span>
<span class="nv">Vector</span><span class="p">.</span><span class="py">__index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">Vector</span>

<span class="kr">function</span><span class="w"> </span><span class="nc">Vector</span><span class="p">:</span><span class="nf">new</span><span class="p">(</span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="p">,</span><span class="w"> </span><span class="nv">z</span><span class="p">)</span><span class="w">    </span><span class="c1">-- 构造器</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="nb">setmetatable</span><span class="p">({</span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">y</span><span class="p">,</span><span class="w"> </span><span class="nv">z</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">z</span><span class="p">},</span><span class="w"> </span><span class="nv">Vector</span><span class="p">)</span>
<span class="kr">end</span>

<span class="kr">function</span><span class="w"> </span><span class="nc">Vector</span><span class="p">:</span><span class="nf">magnitude</span><span class="p">()</span><span class="w">     </span><span class="c1">-- 另一个方法</span>
<span class="w">  </span><span class="c1">-- 使用self引用隐蔽的对象</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="nb">math.sqrt</span><span class="p">(</span><span class="nv">self</span><span class="p">.</span><span class="py">x</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">y</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">z</span><span class="o">^</span><span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>

<span class="kd">local</span><span class="w"> </span><span class="nv">vec</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">Vector</span><span class="p">:</span><span class="nf">new</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="c1">-- 建立一个向量</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">vec</span><span class="p">:</span><span class="nf">magnitude</span><span class="p">())</span><span class="w">          </span><span class="c1">-- 调用一个方法 (输出: 1)</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">vec</span><span class="p">.</span><span class="py">x</span><span class="p">)</span><span class="w">                    </span><span class="c1">-- 访问一个成员变量 (输出: 0)</span>
</pre></div>
<p>Lua为便利对象定向提供了一些<a href="%E8%AF%AD%E6%B3%95%E7%B3%96" title="语法糖">语法糖</a>。要声明在原型表格内的<a href="%E6%96%B9%E6%B3%95_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" class="mw-redirect" title="方法 (计算机科学)">成员函数</a>，可以使用<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">function</span><span class="w"> </span><span class="nc">table</span><span class="p">:</span><span class="nf">func</span><span class="p">(</span><span class="nv">args</span><span class="p">)</span></code>，它等价于<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="kr">function</span><span class="w"> </span><span class="nc">table</span><span class="p">.</span><span class="nf">func</span><span class="p">(</span><span class="nv">self</span><span class="p">,</span><span class="w"> </span><span class="nv">args</span><span class="p">)</span></code>。调用类方法也使用冒号，<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="nv">object</span><span class="p">:</span><span class="nf">func</span><span class="p">(</span><span class="nv">args</span><span class="p">)</span></code>等价于<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="nv">object</span><span class="p">.</span><span class="nf">func</span><span class="p">(</span><span class="nv">object</span><span class="p">,</span><span class="w"> </span><span class="nv">args</span><span class="p">)</span></code>。
</p><p>下面是使用<code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="p">:</span></code>语法糖的对应的类：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span><span class="w"> </span><span class="nv">Vector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{}</span>
<span class="nv">Vector</span><span class="p">.</span><span class="py">__index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">Vector</span>

<span class="kr">function</span><span class="w"> </span><span class="nc">Vector</span><span class="p">:</span><span class="nf">new</span><span class="p">(</span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="p">,</span><span class="w"> </span><span class="nv">z</span><span class="p">)</span><span class="w">    </span><span class="c1">-- 构造子</span>
<span class="w">  </span><span class="c1">-- 因为函数定义使用冒号， </span>
<span class="w">  </span><span class="c1">-- 其第一个实际参数是"self"</span>
<span class="w">  </span><span class="c1">-- 它引用到"Vector"</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="nb">setmetatable</span><span class="p">({</span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">y</span><span class="p">,</span><span class="w"> </span><span class="nv">z</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">z</span><span class="p">},</span><span class="w"> </span><span class="nv">self</span><span class="p">)</span>
<span class="kr">end</span>

<span class="kr">function</span><span class="w"> </span><span class="nc">Vector</span><span class="p">:</span><span class="nf">magnitude</span><span class="p">()</span><span class="w">     </span><span class="c1">-- 另一个方法</span>
<span class="w">  </span><span class="c1">-- 使用self引用隐含的对象</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="nb">math.sqrt</span><span class="p">(</span><span class="nv">self</span><span class="p">.</span><span class="py">x</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">y</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">z</span><span class="o">^</span><span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>

<span class="kd">local</span><span class="w"> </span><span class="nv">vec</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">Vector</span><span class="p">:</span><span class="nf">new</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="c1">-- 建立一个向量</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">vec</span><span class="p">:</span><span class="nf">magnitude</span><span class="p">())</span><span class="w">          </span><span class="c1">-- 调用方法（输出：1）</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">vec</span><span class="p">.</span><span class="py">x</span><span class="p">)</span><span class="w">                    </span><span class="c1">-- 访问成员变量（输出：0）</span>
</pre></div>
<div class="mw-heading mw-heading4"><h4 id="继承"><span id=".E7.BB.A7.E6.89.BF"></span>继承</h4></div>
<p>Lua支持使用元表格来使得Lua具有类继承<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>。在这个例子中，我们允许向量在派生的类中将它们的值乘以一个常量：
</p>
<div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="kd">local</span><span class="w"> </span><span class="nv">Vector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{}</span>
<span class="nv">Vector</span><span class="p">.</span><span class="py">__index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">Vector</span>

<span class="kr">function</span><span class="w"> </span><span class="nc">Vector</span><span class="p">:</span><span class="nf">new</span><span class="p">(</span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="p">,</span><span class="w"> </span><span class="nv">z</span><span class="p">)</span><span class="w">    </span><span class="c1">-- 构造子</span>
<span class="w">  </span><span class="c1">-- 这里的self引用到我们调用"new"方法的任何类</span>
<span class="w">  </span><span class="c1">-- 在派生的类中，self将是派生的类；</span>
<span class="w">  </span><span class="c1">-- 在Vector类中，self将是Vector。</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="nb">setmetatable</span><span class="p">({</span><span class="nv">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">x</span><span class="p">,</span><span class="w"> </span><span class="nv">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">y</span><span class="p">,</span><span class="w"> </span><span class="nv">z</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">z</span><span class="p">},</span><span class="w"> </span><span class="nv">self</span><span class="p">)</span>
<span class="kr">end</span>

<span class="kr">function</span><span class="w"> </span><span class="nc">Vector</span><span class="p">:</span><span class="nf">magnitude</span><span class="p">()</span><span class="w">     </span><span class="c1">-- 另一个方法</span>
<span class="w">  </span><span class="c1">-- 使用self引用隐含的对象</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="nb">math.sqrt</span><span class="p">(</span><span class="nv">self</span><span class="p">.</span><span class="py">x</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">y</span><span class="o">^</span><span class="mi">2</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">z</span><span class="o">^</span><span class="mi">2</span><span class="p">)</span>
<span class="kr">end</span>

<span class="c1">-- 类继承的例子</span>
<span class="kd">local</span><span class="w"> </span><span class="nv">VectorMult</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{}</span>
<span class="nv">VectorMult</span><span class="p">.</span><span class="py">__index</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">VectorMult</span>
<span class="nb">setmetatable</span><span class="p">(</span><span class="nv">VectorMult</span><span class="p">,</span><span class="w"> </span><span class="nv">Vector</span><span class="p">)</span><span class="w"> </span><span class="c1">-- 使得VectorMult成为Vector的孩子</span>

<span class="kr">function</span><span class="w"> </span><span class="nc">VectorMult</span><span class="p">:</span><span class="nf">multiply</span><span class="p">(</span><span class="nv">value</span><span class="p">)</span><span class="w"> </span>
<span class="w">  </span><span class="nv">self</span><span class="p">.</span><span class="py">x</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">x</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nv">value</span>
<span class="w">  </span><span class="nv">self</span><span class="p">.</span><span class="py">y</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">y</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nv">value</span>
<span class="w">  </span><span class="nv">self</span><span class="p">.</span><span class="py">z</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">self</span><span class="p">.</span><span class="py">z</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="nv">value</span>
<span class="w">  </span><span class="kr">return</span><span class="w"> </span><span class="nv">self</span>
<span class="kr">end</span>

<span class="kd">local</span><span class="w"> </span><span class="nv">vec</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nv">VectorMult</span><span class="p">:</span><span class="nf">new</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="c1">-- 建立一个向量</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">vec</span><span class="p">:</span><span class="nf">magnitude</span><span class="p">())</span><span class="w">          </span><span class="c1">-- 调用一个方法（输出：1）</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">vec</span><span class="p">.</span><span class="py">y</span><span class="p">)</span><span class="w">                    </span><span class="c1">-- 访问一个成员变量（输出：1）</span>
<span class="nv">vec</span><span class="p">:</span><span class="nf">multiply</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="w">                 </span><span class="c1">-- 将向量的所有分量乘以2</span>
<span class="nb">print</span><span class="p">(</span><span class="nv">vec</span><span class="p">.</span><span class="py">y</span><span class="p">)</span><span class="w">                    </span><span class="c1">-- 再次访问成员变量（输出：2）</span>
</pre></div>
<p>Lua还支持<a href="%E5%A4%9A%E9%87%8D%E7%BB%A7%E6%89%BF" title="多重继承">多重继承</a>，<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr">__index</code>可以要么是一个函数要么是一个表格<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>。也支持<a href="%E8%BF%90%E7%AE%97%E7%AC%A6%E9%87%8D%E8%BD%BD" title="运算符重载">运算符重载</a>，Lua元表格通过设置元素比如<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr">__add</code>、<code class="mw-highlight mw-highlight-lang-text mw-content-ltr" dir="ltr">__sub</code>等来重写表的操作符操作行为<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>。
</p>
<div class="mw-heading mw-heading2"><h2 id="实现"><span id=".E5.AE.9E.E7.8E.B0"></span>实现</h2></div>
<p>Lua程序不是从文本式的Lua文件直接<a href="%E8%A7%A3%E9%87%8A%E5%9E%8B%E8%AF%AD%E8%A8%80" class="mw-redirect" title="解释型语言">解释</a>的，而是<a href="%E7%BC%96%E8%AF%91%E5%99%A8" class="mw-redirect" title="编译器">编译</a>成<a href="%E5%AD%97%E8%8A%82%E7%A0%81" title="字节码">字节码</a>，接着把它运行在Lua<a href="%E8%99%9A%E6%8B%9F%E6%9C%BA" class="mw-redirect" title="虚拟机">虚拟机</a>上。编译过程典型的对于用户是不可见并且是在<a href="%E8%BF%90%E8%A1%8C%E6%9C%9F" class="mw-redirect" title="运行期">运行时间</a>进行的，但是它可以离线完成用来增加装载性能或通过排除编译器来减少对宿主环境的内存占用。Lua字节码还可以在Lua之内产生和执行，使用来自字符串库的<code>dump</code>函数和<code>load/loadstring/loadfile</code>函数。Lua版本5.3.4是用大约24,000行C代码实现的<sup id="cite_ref-luaspe_4-1" class="reference"><a href="#cite_note-luaspe-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-luaabout_8-2" class="reference"><a href="#cite_note-luaabout-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>。
</p><p>像大多数CPU，而不像多数虚拟机（它们是<a href="%E5%A0%86%E7%96%8A%E7%B5%90%E6%A7%8B%E6%A9%9F%E5%99%A8" title="堆疊結構機器">基于堆栈</a>的），Lua VM是<a href="%E5%AF%84%E5%AD%98%E5%99%A8%E6%9C%BA" title="寄存器机">基于寄存器</a>的，因此更加类似真实的硬件设计。寄存器架构既避免了过多的值复制又减少了每函数的指令的总数。Lua 5的虚拟机是第一个广泛使用的基于寄存器的纯VM<sup id="cite_ref-lua5impl_16-0" class="reference"><a href="#cite_note-lua5impl-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>。<a href="Parrot%E8%99%9A%E6%8B%9F%E6%9C%BA" title="Parrot虚拟机">Parrot</a>和<a href="Android" title="Android">Android</a>的<a href="Dalvik%E8%99%9A%E6%8B%9F%E6%9C%BA" title="Dalvik虚拟机">Dalvik</a>是另外两个周知的基于寄存器的VM。PCScheme的VM也是基于寄存器的<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>。
</p><p>下面的例子列出上面定义的阶乘函数的字节码（通过<code>luac</code> 5.1编译器来展示）<sup id="cite_ref-luavm51instr_18-0" class="reference"><a href="#cite_note-luavm51instr-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup>：
</p>
<pre>function &lt;factorial.lua:1,7&gt; (9 instructions, 36 bytes at 0x8063c60)
1 param, 6 slots, 0 upvalues, 6 locals, 2 constants, 0 functions
	1	[2]	LOADK    	1 -1	; 1
	2	[3]	LOADK    	2 -2	; 2
	3	[3]	MOVE     	3 0
	4	[3]	LOADK    	4 -1	; 1
	5	[3]	FORPREP  	2 1	; to 7
	6	[4]	MUL      	1 1 5
	7	[3]	FORLOOP  	2 -2	; to 6
	8	[6]	RETURN   	1 2
	9	[7]	RETURN   	0 1
</pre>
<div class="mw-heading mw-heading2"><h2 id="C_API">C API</h2></div>
<p>Lua意图被嵌入到其他应用之中，为了这个目的而提供了<a href="C%E8%AF%AD%E8%A8%80" title="C语言">C</a> <a href="API" class="mw-redirect" title="API">API</a>。API被分成两部份：Lua核心库和辅助库<sup id="cite_ref-luarefman_19-0" class="reference"><a href="#cite_note-luarefman-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>。Lua API的设计消除了对用C代码的手动<a href="%E5%BC%95%E7%94%A8%E8%AE%A1%E6%95%B0" title="引用计数">引用管理</a>的需要，不同于<a href="Python" title="Python">Python</a>的API。API就像语言本身一样是极简主义的。高级功能通过辅助库来提供，它们很大程度上构成自<a href="%E9%A2%84%E5%A4%84%E7%90%86%E5%99%A8" title="预处理器">预处理器</a><a href="%E5%AE%8F_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" class="mw-redirect" title="宏 (计算机科学)">宏</a>，用以帮助做复杂的表格操作。
</p><p>Lua C API是基于<a href="%E5%A0%86%E6%A0%88" title="堆栈">堆栈</a>的。Lua提供压入和弹出最简单C数据类型（整数、浮点数等）进入和离开堆栈的函数，还有通过堆栈操作表格的函数。Lua堆栈稍微不同于传统堆栈，例如堆栈可以直接的被索引。负数索引指示从栈顶开始往下的偏移量。例如−1是在顶部的（最新进压入的值），而整数索引指示从底部（最旧的值）往上的偏移量。在C和Lua函数之间<a href="Marshalling_(%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%A7%91%E5%AD%A6)" title="Marshalling (计算机科学)">集结</a>数据也使用堆栈完成。要调用一个Lua函数，把实际参数压入堆栈，并接着使用<code>lua_call</code>来调用实际的函数。在写从Lua直接调用的C函数的时候，实际参数读取自堆栈。
</p><p>下面是从C调用Lua函数的例子:
</p>
<div class="mw-highlight mw-highlight-lang-c mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;stdio.h&gt;</span>
<span class="linenos" data-line="2"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;lua.h&gt;</span><span class="c1"> // Lua主要库 (lua_*)</span>
<span class="linenos" data-line="3"></span><span class="cp">#include</span><span class="w"> </span><span class="cpf">&lt;lauxlib.h&gt;</span><span class="c1"> // Lua辅助库 (luaL_*)</span>
<span class="linenos" data-line="4"></span>
<span class="hll"><span class="linenos" data-line="5"></span><span class="kt">int</span><span class="w"> </span><span class="nf">main</span><span class="p">(</span><span class="kt">void</span><span class="p">)</span>
</span><span class="linenos" data-line="6"></span><span class="p">{</span>
<span class="linenos" data-line="7"></span><span class="w">    </span><span class="c1">// 建立一个Lua状态</span>
<span class="linenos" data-line="8"></span><span class="w">    </span><span class="n">lua_State</span><span class="w"> </span><span class="o">*</span><span class="n">L</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">luaL_newstate</span><span class="p">();</span>
<span class="linenos" data-line="9"></span>
<span class="linenos" data-line="10"></span><span class="w">    </span><span class="c1">// 装载并执行一个字符串</span>
<span class="hll"><span class="linenos" data-line="11"></span><span class="w">    </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">luaL_dostring</span><span class="p">(</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="s">"function foo (x,y) return x+y end"</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
</span><span class="linenos" data-line="12"></span><span class="w">        </span><span class="n">lua_close</span><span class="p">(</span><span class="n">L</span><span class="p">);</span>
<span class="linenos" data-line="13"></span><span class="w">        </span><span class="k">return</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
<span class="linenos" data-line="14"></span><span class="w">    </span><span class="p">}</span>
<span class="linenos" data-line="15"></span>
<span class="linenos" data-line="16"></span><span class="w">    </span><span class="c1">// 压入全局"foo"（上面定义的函数）的值</span>
<span class="linenos" data-line="17"></span><span class="w">    </span><span class="c1">// 到堆栈，跟随着整数5和3</span>
<span class="linenos" data-line="18"></span><span class="w">    </span><span class="n">lua_getglobal</span><span class="p">(</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="s">"foo"</span><span class="p">);</span>
<span class="linenos" data-line="19"></span><span class="w">    </span><span class="n">lua_pushinteger</span><span class="p">(</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="mi">5</span><span class="p">);</span>
<span class="linenos" data-line="20"></span><span class="w">    </span><span class="n">lua_pushinteger</span><span class="p">(</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">);</span>
<span class="hll"><span class="linenos" data-line="21"></span><span class="w">    </span><span class="n">lua_call</span><span class="p">(</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"> </span><span class="c1">// 调用有二个实际参数和一个返回值的函数</span>
</span><span class="linenos" data-line="22"></span><span class="w">    </span><span class="n">printf</span><span class="p">(</span><span class="s">"Result: %d</span><span class="se">\n</span><span class="s">"</span><span class="p">,</span><span class="w"> </span><span class="n">lua_tointeger</span><span class="p">(</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="mi">-1</span><span class="p">));</span><span class="w"> </span><span class="c1">// 打印在栈顶的项目的整数值</span>
<span class="linenos" data-line="23"></span><span class="w">    </span><span class="n">lua_pop</span><span class="p">(</span><span class="n">L</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span><span class="w"> </span><span class="c1">// 返回堆栈至最初状态</span>
<span class="linenos" data-line="24"></span><span class="w">    </span><span class="n">lua_close</span><span class="p">(</span><span class="n">L</span><span class="p">);</span><span class="w"> </span><span class="c1">// 关闭Lua状态</span>
<span class="linenos" data-line="25"></span><span class="w">    </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
<span class="linenos" data-line="26"></span><span class="p">}</span>
</pre></div>
<p>如下这样运行这个例子：
</p>
<div class="mw-highlight mw-highlight-lang-console mw-content-ltr mw-highlight-lines mw-highlight-copy" dir="ltr"><pre><span></span><span class="linenos" data-line="1"></span><span class="gp">$ </span>cc<span class="w"> </span>-o<span class="w"> </span>example<span class="w"> </span>example.c<span class="w"> </span>-llua
<span class="linenos" data-line="2"></span><span class="gp">$ </span>./example
<span class="hll"><span class="linenos" data-line="3"></span><span class="go">Result: 8</span>
</span></pre></div>
<p>C API还提供一些特殊表格，位于各种Lua堆栈中的“伪索引”之上。Lua 5.2之前<sup id="cite_ref-Changes_in_the_API,_Lua_5.2_manual_20-0" class="reference"><a href="#cite_note-Changes_in_the_API,_Lua_5.2_manual-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>，在<code>LUA_GLOBALSINDEX</code>之上是全局表格；<code>_G</code>来自Lua内部，它是主<a href="%E5%90%8D%E5%AD%97%E7%A9%BA%E9%97%B4" class="mw-redirect" title="名字空间">名字空间</a>。还有一个注册表位于<code>LUA_REGISTRYINDEX</code>，在这里C程序可以存储Lua值用于以后检索。
</p><p>还可以使用Lua API写扩展模块。扩展模块是通过向Lua脚本提供本地设施，用来扩展解释器的功能的<a href="%E5%87%BD%E5%BC%8F%E5%BA%AB" title="函式庫">共享对象</a>。从Lua方面看来，这种模块出现为一个名字空间表格，它持有自己的函数和变量。Lua脚本可以使用<code>require</code>装载扩展模块<sup id="cite_ref-luarefman_19-1" class="reference"><a href="#cite_note-luarefman-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>，就像用Lua自身写的模块一样。一组仍在增长中的叫做“rock”的模块可以通过叫做<span class="ilh-all" data-orig-title="LuaRocks" data-lang-code="en" data-lang-name="英语" data-foreign-title="LuaRocks"><span class="ilh-page">LuaRocks</span></span>的<a href="%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%AE%A1%E7%90%86%E5%99%A8" class="mw-redirect" title="软件包管理器">软件包管理器</a>获取到<sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup>，类似于<a href="CPAN" title="CPAN">CPAN</a>、<a href="RubyGems" title="RubyGems">RubyGems</a>和<span class="ilh-all" data-orig-title="Setuptools" data-lang-code="en" data-lang-name="英语" data-foreign-title="Setuptools"><span class="ilh-page">Python eggs</span></span>。对大多数流行的编程语言包括其他脚本语言，都存在预先写好的Lua<a href="%E7%B6%81%E7%B4%AE" title="綁紮">绑定</a><sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>。对于C++，有许多基于模板的方式和一些自动绑定生成器。
</p>
<div class="mw-heading mw-heading2"><h2 id="应用"><span id=".E5.BA.94.E7.94.A8"></span>应用</h2></div>

<p>在<a href="%E6%B8%B8%E6%88%8F%E5%88%B6%E4%BD%9C" class="mw-redirect" title="游戏制作">视频游戏开发</a>中，Lua被程序员广泛的用作<a href="%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80" title="脚本语言">脚本语言</a>，主要由于它的可感知到的易于嵌入、快速执行，和短<a href="%E5%AD%B8%E7%BF%92%E6%9B%B2%E7%B7%9A" title="學習曲線">学习曲线</a><sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup>。
</p><p>在2003年，GameDev.net组织的一次投票，说明了Lua是游戏编程的最流行脚本语言<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>。在2012年1月12日，Lua被《<span class="ilh-all" data-orig-title="游戏开发者 (期刊)" data-lang-code="en" data-lang-name="英语" data-foreign-title="Game Developer (magazine)"><span class="ilh-page">游戏开发者</span></span>》宣布为编程工具范畴的Front Line奖2011年度获奖者<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>。
</p><p>大量非游戏应用也出于可扩展性而使用Lua，比如<a href="TeX" title="TeX">TeX</a>排版设置语言实现<a href="LuaTeX" title="LuaTeX">LuaTeX</a>、<a href="%E9%94%AE-%E5%80%BC%E6%95%B0%E6%8D%AE%E5%BA%93" class="mw-redirect" title="键-值数据库">键-值数据库</a><a href="Redis" title="Redis">Redis</a>、文本编辑器<a href="Neovim" class="mw-redirect" title="Neovim">Neovim</a>和<a href="%E7%B6%B2%E9%A0%81%E4%BC%BA%E6%9C%8D%E5%99%A8" title="網頁伺服器">web服务器</a><a href="Nginx" title="Nginx">Nginx</a>。
</p><p>通过Scribunto扩展，Lua可获得为<a href="MediaWiki" title="MediaWiki">MediaWiki</a>软件中的服务器端脚本语言，<a href="Wikipedia" class="mw-redirect" title="Wikipedia">Wikipedia</a>和其他wiki都基于了它<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup>。它的应用包括允许从<a href="Wikidata" class="mw-redirect" title="Wikidata">Wikidata</a>集成数据到文章中<sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup>，和助力于<span class="ilh-all" data-orig-title="自动生物分类框系统" data-lang-code="en" data-lang-name="英语" data-foreign-title="WP:Automated taxobox system"><span class="ilh-page">自动生物分类框系统</span></span>。
</p><p>Lua可以用於嵌入式硬體，不僅可以嵌入其他編程語言，而且可以嵌入微處理器中，例如<a href="NodeMCU" title="NodeMCU">NodeMCU</a>開源硬體項目將Lua嵌入到Wi-Fi SoC中<sup id="cite_ref-devkit_29-0" class="reference"><a href="#cite_note-devkit-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup>，另外，遊戲平台<a href="Roblox" class="mw-redirect" title="Roblox">Roblox</a>所有遊戲都是利用Lua進行編程的。另外, 还有中国大陸发起的开源LuatOS项目<sup id="cite_ref-LuatOS_30-0" class="reference"><a href="#cite_note-LuatOS-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>，也是将Lua应用到嵌入式领域，但不仅限于Wifi，它包含2G/4G/NBIOT等通信模块，也包含stm32/w800等嵌入式mcu，同时也支持在windows/linux平台上执行的模拟器。
</p>
<div class="mw-heading mw-heading2"><h2 id="派生语言"><span id=".E6.B4.BE.E7.94.9F.E8.AF.AD.E8.A8.80"></span>派生语言</h2></div>
<div class="mw-heading mw-heading3"><h3 id="编译成Lua的语言"><span id=".E7.BC.96.E8.AF.91.E6.88.90Lua.E7.9A.84.E8.AF.AD.E8.A8.80"></span>编译成Lua的语言</h3></div>
<p>以Lua作为编译目标输出的<a href="%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80" title="编程语言">编程语言</a><sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup>：
</p>
<ul><li>Moonscript，是<a href="%E5%8A%A8%E6%80%81%E8%AF%AD%E8%A8%80" title="动态语言">动态</a>、<a href="%E7%A9%BA%E7%99%BD%E5%AD%97%E7%AC%A6" class="mw-redirect" title="空白字符">空白</a>敏感的<a href="%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80" title="脚本语言">脚本语言</a>，它受到<a href="CoffeeScript" title="CoffeeScript">CoffeeScript</a>的启发，<a href="%E7%BC%96%E8%AF%91%E5%99%A8" class="mw-redirect" title="编译器">编译</a>成Lua<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-:1_34-0" class="reference"><a href="#cite_note-:1-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup>。</li>
<li><a href="Haxe" title="Haxe">Haxe</a>，支持编译成Lua目标，支持Lua 5.1-5.3还有LuaJIT 2.0和2.1。</li>
<li>Fennel，目标为Lua的<a href="Lisp" class="mw-redirect" title="Lisp">Lisp</a>方言<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup>。</li>
<li>Urn，建造在Lua之上的<a href="Lisp" class="mw-redirect" title="Lisp">Lisp</a>方言<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>。</li>
<li>Amulet，类<a href="ML%E8%AF%AD%E8%A8%80" title="ML语言">ML</a>的<a href="%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B" title="函数式编程">函数式语言</a>，其编译器输出Lua文件<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup>。</li>
<li>LunarML，产生Lua/<a href="JavaScript" title="JavaScript">JavaScript</a>代码的<a href="Standard_ML" title="Standard ML">Standard ML</a>编译器<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup>。</li></ul>
<div class="mw-heading mw-heading3"><h3 id="方言"><span id=".E6.96.B9.E8.A8.80"></span>方言</h3></div>
<ul><li><span class="ilh-all" data-orig-title="LuaJIT" data-lang-code="en" data-lang-name="英语" data-foreign-title="LuaJIT"><span class="ilh-page">LuaJIT</span></span>，Lua 5.1的即时编译器<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup>。</li>
<li><span class="ilh-all" data-orig-title="Roblox Studio" data-lang-code="en" data-lang-name="英语" data-foreign-title="Roblox Studio#Scripting"><span class="ilh-page">Luau</span></span>，由Roblox公司开发，派生自Lua 5.1，具有<span class="ilh-all" data-orig-title="渐进类型" data-lang-code="en" data-lang-name="英语" data-foreign-title="gradual typing"><span class="ilh-page">渐进类型</span></span>，补充特征并关注于性能<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup>。</li>
<li>Ravi，启用了JIT的Lua 5.3语言并具有可选的静态类型。JIT由类型信息来指导<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup>。</li>
<li>Shine，既有很多扩展的LuaJIT分叉，包括了模块系统和宏系统<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup>。</li>
<li>Glua，嵌入到游戏<a href="%E7%9B%96%E7%91%9E%E6%A8%A1%E7%BB%84" class="mw-redirect" title="盖瑞模组">盖瑞模组</a>中作为其脚本语言的一个Lua修改版本<sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup>。</li>
<li>Teal，用Lua编写的<a href="%E7%B1%BB%E5%9E%8B%E7%B3%BB%E7%BB%9F#静态类型检查" class="mw-redirect" title="类型系统">静态类型</a>的Lua方言。</li></ul>
<p>此外，Lua用户社区在参考C语言实现之上提供了一些“能力补丁”<sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup>。
</p>
<div class="mw-heading mw-heading2"><h2 id="引用"><span id=".E5.BC.95.E7.94.A8"></span>引用</h2></div>
<div class="reflist columns references-column-count references-column-count-2" style="-moz-column-count: 2; -webkit-column-count: 2; column-count: 2; list-style-type: decimal;">
<ol class="references">
<li id="cite_note-wikidata-2c354affd7152198918c292630c9c4314aa68c15-v3-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-wikidata-2c354affd7152198918c292630c9c4314aa68c15-v3_1-0">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external free" href="https://lua.org/versions.html#5.5">https://lua.org/versions.html#5.5</a>.</span>
</li>
<li id="cite_note-The_Ring_programming_language_and_other_languages-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-The_Ring_programming_language_and_other_languages_2-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r92366446">
/* start https://zh.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./_mw_/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./_mw_/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./_mw_/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./_mw_/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end   https://zh.wikipedia.org/ */
</style><cite class="citation web">Ring Team. <a rel="nofollow" class="external text" href="http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages">The Ring programming language and other languages</a>. ring-lang.net. ring-lang. 5 December 2017 <span class="reference-accessdate"> [<span class="nowrap">2020-09-22</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20181225175312/http://ring-lang.sourceforge.net/doc1.6/introduction.html#ring-and-other-languages">存档</a>于2018-12-25）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=The+Ring+programming+language+and+other+languages&amp;rft.au=Ring+Team&amp;rft.date=2017-12-05&amp;rft.genre=unknown&amp;rft.jtitle=ring-lang.net&amp;rft_id=http%3A%2F%2Fring-lang.sourceforge.net%2Fdoc1.6%2Fintroduction.html%23ring-and-other-languages&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web">Yuri Takhteyev. <a rel="nofollow" class="external text" href="https://www.foreignaffairs.com/articles/139332/yuri-takhteyev/from-brazil-to-wikipedia?page=2">From Brazil to Wikipedia</a>. <a href="Foreign_Affairs" class="mw-redirect" title="Foreign Affairs">Foreign Affairs</a>. 21 April 2013 <span class="reference-accessdate"> [<span class="nowrap">25 April</span> 2013]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20141024164826/http://www.foreignaffairs.com/articles/139332/yuri-takhteyev/from-brazil-to-wikipedia?page=2">存档</a>于2014-10-24）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=From+Brazil+to+Wikipedia&amp;rft.au=Yuri+Takhteyev&amp;rft.date=2013-04-21&amp;rft.genre=unknown&amp;rft.jtitle=Foreign+Affairs&amp;rft_id=https%3A%2F%2Fwww.foreignaffairs.com%2Farticles%2F139332%2Fyuri-takhteyev%2Ffrom-brazil-to-wikipedia%3Fpage%3D2&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-luaspe-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-luaspe_4-0"><sup><b>4.0</b></sup></a> <a href="#cite_ref-luaspe_4-1"><sup><b>4.1</b></sup></a></span> <span class="reference-text"><cite class="citation journal">Ierusalimschy, Roberto; de Figueiredo, Luiz Henrique; Filho, Waldemar Celes. <a rel="nofollow" class="external text" href="https://www.lua.org/spe.html">Lua—An Extensible Extension Language</a>. Software: Practice and Experience. June 1996, <b>26</b> (6): 635–652 <span class="reference-accessdate"> [<span class="nowrap">24 October</span> 2015]</span>. <a rel="nofollow" class="external text" data-mw-original-href="//doi.org/10.1002%2F%28SICI%291097-024X%28199606%2926%3A6%3C635%3A%3AAID-SPE26%3E3.0.CO%3B2-P" href="https://doi.org/10.1002%2F%28SICI%291097-024X%28199606%2926%3A6%3C635%3A%3AAID-SPE26%3E3.0.CO%3B2-P"><span title="數位物件識別號">doi:10.1002/(SICI)1097-024X(199606)26:6&lt;635::AID-SPE26&gt;3.0.CO;2-P</span></a>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201004063034/http://www.lua.org/spe.html">存档</a>于2020-10-04）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Lua%E2%80%94An+Extensible+Extension+Language&amp;rft.au=Filho%2C+Waldemar+Celes&amp;rft.au=de+Figueiredo%2C+Luiz+Henrique&amp;rft.aufirst=Roberto&amp;rft.aulast=Ierusalimschy&amp;rft.date=1996-06&amp;rft.genre=article&amp;rft.issue=6&amp;rft.jtitle=Software%3A+Practice+and+Experience&amp;rft.pages=635-652&amp;rft.volume=26&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fspe.html&amp;rft_id=info%3Adoi%2F10.1002%2F%28SICI%291097-024X%28199606%2926%3A6%3C635%3A%3AAID-SPE26%3E3.0.CO%3B2-P&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-luahist2001-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-luahist2001_5-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://www.lua.org/history.html">The evolution of an extension language: a history of Lua</a>. 2001 <span class="reference-accessdate"> [<span class="nowrap">2008-12-18</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201109033137/http://www.lua.org/history.html">存档</a>于2020-11-09）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=The+evolution+of+an+extension+language%3A+a+history+of+Lua&amp;rft.date=2001&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fhistory.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span>。</span>
</li>
<li id="cite_note-hopl2007-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-hopl2007_6-0"><sup><b>6.0</b></sup></a> <a href="#cite_ref-hopl2007_6-1"><sup><b>6.1</b></sup></a> <a href="#cite_ref-hopl2007_6-2"><sup><b>6.2</b></sup></a></span> <span class="reference-text"><cite class="citation book"><a href="Roberto_Ierusalimschy" class="mw-redirect" title="Roberto Ierusalimschy">Ierusalimschy, R.</a>; Figueiredo, L. H.; Celes, W. <a rel="nofollow" class="external text" href="https://www.lua.org/doc/hopl.pdf">The evolution of Lua</a> <span style="font-size:85%;">(PDF)</span>. <a rel="nofollow" class="external text" href="https://www.acm.org/sigs/sigplan/hopl">Proc. of ACM HOPL III</a>. 2007: 2–1–2–26. <span title="国际标准书号">ISBN</span>&nbsp;978-1-59593-766-7. <a rel="nofollow" class="external text" data-mw-original-href="//doi.org/10.1145%2F1238844.1238846" href="https://doi.org/10.1145%2F1238844.1238846"><span title="數位物件識別號">doi:10.1145/1238844.1238846</span></a>.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=The+evolution+of+Lua&amp;rft.au=Celes%2C+W.&amp;rft.au=Figueiredo%2C+L.+H.&amp;rft.aufirst=R.&amp;rft.aulast=Ierusalimschy&amp;rft.btitle=Proc.+of+ACM+HOPL+III&amp;rft.date=2007&amp;rft.genre=bookitem&amp;rft.isbn=978-1-59593-766-7&amp;rft.pages=2-1-2-26&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fdoc%2Fhopl.pdf&amp;rft_id=info%3Adoi%2F10.1145%2F1238844.1238846&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-ddj96-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-ddj96_7-0">^</a></b></span> <span class="reference-text"><cite class="citation magazine">Figueiredo, L. H.; Ierusalimschy, R.; Celes, W. <a rel="nofollow" class="external text" href="https://www.lua.org/ddj.html">Lua: an Extensible Embedded Language. A few metamechanisms replace a host of features</a>. Dr. Dobb's Journal. Vol.&nbsp;21 no.&nbsp;12. December 1996: 26–33 <span class="reference-accessdate"> [<span class="nowrap">2020-09-21</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201004074546/http://www.lua.org/ddj.html">存档</a>于2020-10-04）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Lua%3A+an+Extensible+Embedded+Language.+A+few+metamechanisms+replace+a+host+of+features&amp;rft.au=Celes%2C+W.&amp;rft.au=Ierusalimschy%2C+R.&amp;rft.aufirst=L.+H.&amp;rft.aulast=Figueiredo&amp;rft.date=1996-12&amp;rft.genre=article&amp;rft.issue=12&amp;rft.jtitle=Dr.+Dobb%27s+Journal&amp;rft.pages=26-33&amp;rft.volume=21&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fddj.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-luaabout-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-luaabout_8-0"><sup><b>8.0</b></sup></a> <a href="#cite_ref-luaabout_8-1"><sup><b>8.1</b></sup></a> <a href="#cite_ref-luaabout_8-2"><sup><b>8.2</b></sup></a></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://www.lua.org/about.html#why">About Lua</a>. Lua.org.  <span class="reference-accessdate"> [<span class="nowrap">2011-08-11</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20110809234814/http://www.lua.org/about.html#why">存档</a>于2011-08-09）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=About+Lua&amp;rft.genre=unknown&amp;rft.pub=Lua.org&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fabout.html%23why&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://www.lua.org/pil/1.html">Programming in Lua&nbsp;: 1</a>.  <span class="reference-accessdate"> [<span class="nowrap">2020-10-13</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20171027125913/http://www.lua.org/pil/1.html">存档</a>于2017-10-27）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Programming+in+Lua+%3A+1&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fpil%2F1.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://www.lua.org/manual/5.1/manual.html#2.3">Lua 5.1 Reference Manual</a>. 2014 <span class="reference-accessdate"> [<span class="nowrap">2014-02-27</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20210130234216/https://www.lua.org/manual/5.1/manual.html#2.3">存档</a>于2021-01-30）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Lua+5.1+Reference+Manual&amp;rft.date=2014&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fmanual%2F5.1%2Fmanual.html%232.3&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://www.lua.org/manual/5.1/manual.html#2.5.5">Lua 5.1 Reference Manual</a>. 2012 <span class="reference-accessdate"> [<span class="nowrap">2012-10-16</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20210130234216/https://www.lua.org/manual/5.1/manual.html#2.5.5">存档</a>于2021-01-30）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Lua+5.1+Reference+Manual&amp;rft.date=2012&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fmanual%2F5.1%2Fmanual.html%232.5.5&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-lobject_h_array-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-lobject_h_array_12-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://www.lua.org/source/5.1/lobject.h.html#array">Lua 5.1 Source Code</a>. 2006 <span class="reference-accessdate"> [<span class="nowrap">2011-03-24</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20200803141030/https://www.lua.org/source/5.1/lobject.h.html#array">存档</a>于2020-08-03）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Lua+5.1+Source+Code&amp;rft.date=2006&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fsource%2F5.1%2Flobject.h.html%23array&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite class="citation book">Roberto Ierusalimschy. Programming in Lua, 4th Edition.&nbsp;: 165.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.au=Roberto+Ierusalimschy&amp;rft.btitle=Programming+in+Lua%2C+4th+Edition&amp;rft.genre=book&amp;rft.pages=165&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20220410013451/https://www.lua.org/pil/16.3.html">Programming in Lua&nbsp;: 16.3</a>. www.lua.org.  <span class="reference-accessdate"> [<span class="nowrap">2021-09-16</span>]</span>. （<a rel="nofollow" class="external text" href="https://www.lua.org/pil/16.3.html">原始内容</a>存档于2022-04-10）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Programming+in+Lua+%3A+16.3&amp;rft.genre=unknown&amp;rft.jtitle=www.lua.org&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fpil%2F16.3.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20220506124318/http://lua-users.org/wiki/MetamethodsTutorial">lua-users wiki: Metamethods Tutorial</a>. lua-users.org.  <span class="reference-accessdate"> [<span class="nowrap">2021-09-16</span>]</span>. （<a rel="nofollow" class="external text" href="http://lua-users.org/wiki/MetamethodsTutorial">原始内容</a>存档于2022-05-06）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=lua-users+wiki%3A+Metamethods+Tutorial&amp;rft.genre=unknown&amp;rft.jtitle=lua-users.org&amp;rft_id=http%3A%2F%2Flua-users.org%2Fwiki%2FMetamethodsTutorial&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-lua5impl-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-lua5impl_16-0">^</a></b></span> <span class="reference-text"><cite class="citation journal">Ierusalimschy, R.; Figueiredo, L. H.; Celes, W. <a rel="nofollow" class="external text" href="http://www.jucs.org/jucs_11_7/the_implementation_of_lua/jucs_11_7_1159_1176_defigueiredo.html">The implementation of Lua 5.0</a>. J. Of Universal Comp. Sci. 2005, <b>11</b> (7): 1159–1176 <span class="reference-accessdate"> [<span class="nowrap">2020-10-14</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20200730002906/http://www.jucs.org/jucs_11_7/the_implementation_of_lua/jucs_11_7_1159_1176_defigueiredo.html">存档</a>于2020-07-30）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=The+implementation+of+Lua+5.0&amp;rft.au=Celes%2C+W.&amp;rft.au=Figueiredo%2C+L.+H.&amp;rft.aufirst=R.&amp;rft.aulast=Ierusalimschy&amp;rft.date=2005&amp;rft.genre=article&amp;rft.issue=7&amp;rft.jtitle=J.+Of+Universal+Comp.+Sci.&amp;rft.pages=1159-1176&amp;rft.volume=11&amp;rft_id=http%3A%2F%2Fwww.jucs.org%2Fjucs_11_7%2Fthe_implementation_of_lua%2Fjucs_11_7_1159_1176_defigueiredo.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><cite class="citation book">Texas Instruments. <a rel="nofollow" class="external text" href="https://archive.org/details/pcschemeusersgui0000unse">PC Scheme: Users Guide and Language Reference Manual, Trade Edition</a>. 1990. <span title="国际标准书号">ISBN</span>&nbsp;0-262-70040-9.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.au=Texas+Instruments&amp;rft.btitle=PC+Scheme%3A+Users+Guide+and+Language+Reference+Manual%2C+Trade+Edition&amp;rft.date=1990&amp;rft.genre=book&amp;rft.isbn=0-262-70040-9&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fpcschemeusersgui0000unse&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-luavm51instr-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-luavm51instr_18-0">^</a></b></span> <span class="reference-text"><cite class="citation web">Kein-Hong Man. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100619191457/http://luaforge.net/docman/view.php/83/98/ANoFrillsIntroToLua51VMInstructions.pdf">A No-Frills Introduction to Lua 5.1 VM Instructions</a> <span style="font-size:85%;">(PDF)</span>. 2006 <span class="reference-accessdate"> [<span class="nowrap">20 December</span> 2008]</span>. （<a rel="nofollow" class="external text" href="http://luaforge.net/docman/view.php/83/98/ANoFrillsIntroToLua51VMInstructions.pdf">原始内容</a> <span style="font-size:85%;">(PDF)</span>存档于2010-06-19）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.au=Kein-Hong+Man&amp;rft.btitle=A+No-Frills+Introduction+to+Lua+5.1+VM+Instructions&amp;rft.date=2006&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fluaforge.net%2Fdocman%2Fview.php%2F83%2F98%2FANoFrillsIntroToLua51VMInstructions.pdf&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-luarefman-19"><span class="mw-cite-backlink">^ <a href="#cite_ref-luarefman_19-0"><sup><b>19.0</b></sup></a> <a href="#cite_ref-luarefman_19-1"><sup><b>19.1</b></sup></a></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://www.lua.org/manual/5.2/">Lua 5.2 Reference Manual</a>. Lua.org.  <span class="reference-accessdate"> [<span class="nowrap">2012-10-23</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201112042109/https://www.lua.org/manual/5.2/">存档</a>于2020-11-12）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Lua+5.2+Reference+Manual&amp;rft.genre=unknown&amp;rft.pub=Lua.org&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fmanual%2F5.2%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-Changes_in_the_API,_Lua_5.2_manual-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-Changes_in_the_API,_Lua_5.2_manual_20-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://www.lua.org/manual/5.2/manual.html#8.3">Changes in the API</a>. Lua 5.2 Reference Manual. Lua.org.  <span class="reference-accessdate"> [<span class="nowrap">2014-05-09</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201112024218/https://www.lua.org/manual/5.2/manual.html#8.3">存档</a>于2020-11-12）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Changes+in+the+API&amp;rft.genre=unknown&amp;rft.jtitle=Lua+5.2+Reference+Manual&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fmanual%2F5.2%2Fmanual.html%238.3&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://luarocks.org/">LuaRocks</a>. LuaRocks wiki.  <span class="reference-accessdate"> [<span class="nowrap">2009-05-24</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20210206150258/https://luarocks.org/">存档</a>于2021-02-06）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=LuaRocks&amp;rft.genre=unknown&amp;rft.pub=LuaRocks+wiki&amp;rft_id=https%3A%2F%2Fluarocks.org%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://lua-users.org/wiki/BindingCodeToLua">Binding Code To Lua</a>. Lua-users wiki.  <span class="reference-accessdate"> [<span class="nowrap">2009-05-24</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201112015615/http://lua-users.org/wiki/BindingCodeToLua">存档</a>于2020-11-12）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Binding+Code+To+Lua&amp;rft.genre=unknown&amp;rft.pub=Lua-users+wiki&amp;rft_id=http%3A%2F%2Flua-users.org%2Fwiki%2FBindingCodeToLua&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://stackoverflow.com/questions/38338/why-is-lua-considered-a-game-language">Why is Lua considered a game language?</a>.  <span class="reference-accessdate"> [<span class="nowrap">2017-04-22</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20130820131611/http://stackoverflow.com/questions/38338/why-is-lua-considered-a-game-language">存档</a>于2013-08-20）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Why+is+Lua+considered+a+game+language%3F&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fstackoverflow.com%2Fquestions%2F38338%2Fwhy-is-lua-considered-a-game-language&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20031207171619/http://gamedev.net/gdpolls/viewpoll.asp?ID=163">Poll Results</a>.  <span class="reference-accessdate"> [<span class="nowrap">2017-04-22</span>]</span>. （<a rel="nofollow" class="external text" href="https://gamedev.net/gdpolls/viewpoll.asp?ID=163">原始内容</a>存档于2003-12-07）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Poll+Results&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fgamedev.net%2Fgdpolls%2Fviewpoll.asp%3FID%3D163&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://www.gdmag.com/blog/2012/01/front-line-award-winners.php">Front Line Award Winners Announced</a>.  <span class="reference-accessdate"> [<span class="nowrap">2017-04-22</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20130615013638/http://www.gdmag.com/blog/2012/01/front-line-award-winners.php">存档</a>于2013-06-15）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Front+Line+Award+Winners+Announced&amp;rft.genre=unknown&amp;rft_id=http%3A%2F%2Fwww.gdmag.com%2Fblog%2F2012%2F01%2Ffront-line-award-winners.php&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation web"><a class="external text" href="https://www.mediawiki.org/wiki/Extension:Scribunto">Extension:Scribunto - MediaWiki</a>. MediaWiki.org.  <span class="reference-accessdate"> [<span class="nowrap">21 February</span> 2019]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201225081038/https://www.mediawiki.org/wiki/Extension:Scribunto">存档</a>于2020-12-25）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Extension%3AScribunto+-+MediaWiki&amp;rft.genre=unknown&amp;rft.jtitle=MediaWiki.org&amp;rft_id=https%3A%2F%2Fwww.mediawiki.org%2Fwiki%2FExtension%3AScribunto&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite class="citation web"><a class="external text" href="https://en.wikipedia.org/wiki/Wikipedia:Lua">Wikipedia:Lua</a>.  <span class="reference-accessdate"> [<span class="nowrap">2018-12-19</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20210204204748/https://en.wikipedia.org/wiki/Wikipedia:Lua">存档</a>于2021-02-04）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Wikipedia%3ALua&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FWikipedia%3ALua&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite class="citation web"><a class="external text" href="https://www.wikidata.org/wiki/Wikidata:Infobox_Tutorial">Wikidata:Infobox Tutorial - Wikidata</a>. www.wikidata.org.  <span class="reference-accessdate"> [<span class="nowrap">2018-12-21</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20200720080341/https://www.wikidata.org/wiki/Wikidata:Infobox_Tutorial">存档</a>于2020-07-20）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Wikidata%3AInfobox+Tutorial+-+Wikidata&amp;rft.genre=unknown&amp;rft.jtitle=www.wikidata.org&amp;rft_id=https%3A%2F%2Fwww.wikidata.org%2Fwiki%2FWikidata%3AInfobox_Tutorial&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-devkit-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-devkit_29-0">^</a></b></span> <span class="reference-text"><cite class="citation web">Huang R. <a rel="nofollow" class="external text" href="https://github.com/nodemcu/nodemcu-devkit">NodeMCU devkit</a>. Github.  <span class="reference-accessdate"> [<span class="nowrap">3 April</span> 2015]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20150815044219/https://github.com/nodemcu/nodemcu-devkit">存档</a>于2015-08-15）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=NodeMCU+devkit&amp;rft.au=Huang+R.&amp;rft.genre=unknown&amp;rft.jtitle=Github&amp;rft_id=https%3A%2F%2Fgithub.com%2Fnodemcu%2Fnodemcu-devkit&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-LuatOS-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-LuatOS_30-0">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://github.com/openLuat/LuatOS">LuatOS at Github</a>.  <span class="reference-accessdate"> [<span class="nowrap">2021-09-12</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20220331204050/https://github.com/openLuat/LuatOS">存档</a>于2022-03-31）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=LuatOS+at+Github&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fgithub.com%2FopenLuat%2FLuatOS&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://github.com/hengestone/lua-languages">Languages that compile to Lua</a>.  <span class="reference-accessdate"> [<span class="nowrap">2024-02-24</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240224113155/https://github.com/hengestone/lua-languages">存档</a>于2024-02-24）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=Languages+that+compile+to+Lua&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fgithub.com%2Fhengestone%2Flua-languages&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://moonscript.org/reference/">Language Guide - MoonScript 0.5.0</a>. moonscript.org.  <span class="reference-accessdate"> [<span class="nowrap">2020-09-25</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201119162804/https://moonscript.org/reference/">存档</a>于2020-11-19）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Language+Guide+-+MoonScript+0.5.0&amp;rft.genre=unknown&amp;rft.jtitle=moonscript.org&amp;rft_id=https%3A%2F%2Fmoonscript.org%2Freference%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite id="CITEREFleaf2020" class="citation">leaf, <a rel="nofollow" class="external text" href="https://github.com/leafo/moonscript">leafo/moonscript</a>, 2020-09-23 <span class="reference-accessdate"> [<span class="nowrap">2020-09-25</span>]</span>, （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201202120131/https://github.com/leafo/moonscript">存档</a>于2020-12-02）</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.au=leaf&amp;rft.btitle=leafo%2Fmoonscript&amp;rft.date=2020-09-23&amp;rft.genre=book&amp;rft_id=https%3A%2F%2Fgithub.com%2Fleafo%2Fmoonscript&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-:1-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-:1_34-0">^</a></b></span> <span class="reference-text"><cite class="citation web">Andre Alves Garzia. <a rel="nofollow" class="external text" href="https://andregarzia.com/2020/06/languages-that-compile-to-lua.html">Languages that compile to Lua</a>. AndreGarzia.com.  <span class="reference-accessdate"> [<span class="nowrap">September 25,</span> 2020]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201218103156/https://andregarzia.com/2020/06/languages-that-compile-to-lua.html">存档</a>于2020-12-18）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Languages+that+compile+to+Lua&amp;rft.au=Andre+Alves+Garzia&amp;rft.genre=unknown&amp;rft.jtitle=AndreGarzia.com&amp;rft_id=https%3A%2F%2Fandregarzia.com%2F2020%2F06%2Flanguages-that-compile-to-lua.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20210727200305/https://fennel-lang.org/">fennel-lang.org</a>.  <span class="reference-accessdate"> [<span class="nowrap">2021-06-12</span>]</span>. （<a rel="nofollow" class="external text" href="https://fennel-lang.org/">原始内容</a>存档于2021-07-27）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=fennel-lang.org&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Ffennel-lang.org%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20220330065450/https://urn-lang.com/">Urn: A Lisp implementation for Lua | Urn</a>. urn-lang.com.  <span class="reference-accessdate"> [<span class="nowrap">2021-01-12</span>]</span>. （<a rel="nofollow" class="external text" href="https://urn-lang.com/">原始内容</a>存档于2022-03-30）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Urn%3A+A+Lisp+implementation+for+Lua+%7C+Urn&amp;rft.genre=unknown&amp;rft.jtitle=urn-lang.com&amp;rft_id=https%3A%2F%2Furn-lang.com%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20210725222733/https://amulet.works/">Amulet</a>. amulet.work.  <span class="reference-accessdate"> [<span class="nowrap">2021-01-12</span>]</span>. （<a rel="nofollow" class="external text" href="https://amulet.works/">原始内容</a>存档于2021-07-25）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Amulet&amp;rft.genre=unknown&amp;rft.jtitle=amulet.work&amp;rft_id=https%3A%2F%2Famulet.works%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://github.com/minoki/LunarML">LunarML — The Standard ML compiler that produces Lua/JavaScript</a>.  <span class="reference-accessdate"> [<span class="nowrap">2024-01-10</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240525011457/https://github.com/minoki/LunarML">存档</a>于2024-05-25）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.btitle=LunarML+%E2%80%94+The+Standard+ML+compiler+that+produces+Lua%2FJavaScript&amp;rft.genre=unknown&amp;rft_id=https%3A%2F%2Fgithub.com%2Fminoki%2FLunarML&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://luajit.org/luajit.html">LuaJIT</a>. LuaJIT.  <span class="reference-accessdate"> [<span class="nowrap">2024-08-17</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20220210165235/https://luajit.org/luajit.html">存档</a>于2022-02-10）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=LuaJIT&amp;rft.genre=unknown&amp;rft.jtitle=LuaJIT&amp;rft_id=https%3A%2F%2Fluajit.org%2Fluajit.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://luajit.org/extensions.html">Extensions</a>. LuaJIT.  <span class="reference-accessdate"> [<span class="nowrap">2024-08-17</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20250130140718/https://luajit.org/extensions.html">存档</a>于2025-01-30）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Extensions&amp;rft.genre=unknown&amp;rft.jtitle=LuaJIT&amp;rft_id=https%3A%2F%2Fluajit.org%2Fextensions.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://luau-lang.org/why">Why Luau?</a>. Luau.  <span class="reference-accessdate"> [<span class="nowrap">2024-08-03</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240805082629/https://luau-lang.org/why">存档</a>于2024-08-05） <span style="font-family: sans-serif; cursor: default; color:var(--color-subtle, #54595d); font-size: 0.8em; bottom: 0.1em; font-weight: bold;" title="连接到英语网页">（英语）</span>. <q>All of these motivated us to start reshaping Lua 5.1 that we started from into a new, derivative language that we call Luau. Our focus is on making the language more performant and feature-rich, and make it easier to write robust code through a combination of linting and type checking using a gradual type system.</q></cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Why+Luau%3F&amp;rft.genre=unknown&amp;rft.jtitle=Luau&amp;rft_id=https%3A%2F%2Fluau-lang.org%2Fwhy&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="http://ravilang.github.io/">Ravi Programming Language</a>. GitHub.  <span class="reference-accessdate"> [<span class="nowrap">2024-08-17</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20250204122556/http://ravilang.github.io/">存档</a>于2025-02-04）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Ravi+Programming+Language&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft_id=http%3A%2F%2Fravilang.github.io%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><cite class="citation web">Hundt, Richard. <a rel="nofollow" class="external text" href="https://github.com/richardhundt/shine">richardhundt/shine</a>. <a href="GitHub" title="GitHub">GitHub</a>. 2021-04-22 <span class="reference-accessdate"> [<span class="nowrap">2024-08-17</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20250123125226/https://github.com/richardhundt/shine">存档</a>于2025-01-23）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=richardhundt%2Fshine&amp;rft.aufirst=Richard&amp;rft.aulast=Hundt&amp;rft.date=2021-04-22&amp;rft.genre=unknown&amp;rft.jtitle=GitHub&amp;rft_id=https%3A%2F%2Fgithub.com%2Frichardhundt%2Fshine&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://wiki.facepunch.com/gmod/">Garry's Mod Wiki</a>. wiki.facepunch.com.  <span class="reference-accessdate"> [<span class="nowrap">2024-08-17</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20250201175148/https://wiki.facepunch.com/gmod">存档</a>于2025-02-01）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Garry%27s+Mod+Wiki&amp;rft.genre=unknown&amp;rft.jtitle=wiki.facepunch.com&amp;rft_id=https%3A%2F%2Fwiki.facepunch.com%2Fgmod%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
<li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><cite class="citation web"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20210518114041/http://lua-users.org/wiki/LuaPowerPatches">Lua Power Patches</a>. lua-users.org.  <span class="reference-accessdate"> [<span class="nowrap">18 May</span> 2021]</span>. （<a rel="nofollow" class="external text" href="http://lua-users.org/wiki/LuaPowerPatches">原始内容</a>存档于18 May 2021）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Lua+Power+Patches&amp;rft.genre=unknown&amp;rft.jtitle=lua-users.org&amp;rft_id=http%3A%2F%2Flua-users.org%2Fwiki%2FLuaPowerPatches&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="延伸阅读"><span id=".E5.BB.B6.E4.BC.B8.E9.98.85.E8.AF.BB"></span>延伸阅读</h2></div>
<style data-mw-deduplicate="TemplateStyles:r80540462">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .refbegin{font-size:90%;margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .refbegin-100{font-size:100%}


/* end   https://zh.wikipedia.org/ */
</style><div class="refbegin columns references-column-count references-column-count-2" style="-moz-column-count: 2; -webkit-column-count: 2; column-count: 2;">
<ul><li><cite class="citation book">Ierusalimschy, R. <a rel="nofollow" class="external text" href="https://www.lua.org/pil/">Programming in Lua</a> 3rd. Lua.org. 2013 <span class="reference-accessdate"> [<span class="nowrap">2020-10-13</span>]</span>. <span title="国际标准书号">ISBN</span>&nbsp;978-85-903798-5-0. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20210118191356/https://www.lua.org/pil/">存档</a>于2021-01-18）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.aufirst=R.&amp;rft.aulast=Ierusalimschy&amp;rft.btitle=Programming+in+Lua&amp;rft.date=2013&amp;rft.edition=3rd&amp;rft.genre=book&amp;rft.isbn=978-85-903798-5-0&amp;rft.pub=Lua.org&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fpil%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span> (The 1st ed. is available <a rel="nofollow" class="external text" href="https://www.lua.org/pil/contents.html">online</a> （<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201112022544/https://www.lua.org/pil/contents.html">页面存档备份</a>，存于<a href="%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86" title="互联网档案馆">互联网档案馆</a>）.)</li>
<li><cite class="citation book">Gutschmidt, T. Game Programming with Python, Lua, and Ruby. Course Technology PTR. 2003. <span title="国际标准书号">ISBN</span>&nbsp;978-1-59200-077-7.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.aufirst=T.&amp;rft.aulast=Gutschmidt&amp;rft.btitle=Game+Programming+with+Python%2C+Lua%2C+and+Ruby&amp;rft.date=2003&amp;rft.genre=book&amp;rft.isbn=978-1-59200-077-7&amp;rft.pub=Course+Technology+PTR&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation book">Schuytema, P.; Manyen, M. <a rel="nofollow" class="external text" href="https://archive.org/details/gamedevelopmentw0000schu">Game Development with Lua</a>. Charles River Media. 2005. <span title="国际标准书号">ISBN</span>&nbsp;978-1-58450-404-7.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.au=Manyen%2C+M.&amp;rft.aufirst=P.&amp;rft.aulast=Schuytema&amp;rft.btitle=Game+Development+with+Lua&amp;rft.date=2005&amp;rft.genre=book&amp;rft.isbn=978-1-58450-404-7&amp;rft.pub=Charles+River+Media&amp;rft_id=https%3A%2F%2Farchive.org%2Fdetails%2Fgamedevelopmentw0000schu&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation book">Jung, K.; Brown, A. <a rel="nofollow" class="external text" href="https://www.wrox.com/WileyCDA/WroxTitle/productCd-0470069171.html">Beginning Lua Programming</a>. Wrox Press. 2007 <span class="reference-accessdate"> [<span class="nowrap">7 July</span> 2018]</span>. <span title="国际标准书号">ISBN</span>&nbsp;978-0-470-06917-2. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180708015602/https://www.wrox.com/WileyCDA/WroxTitle/productCd-0470069171.html">存档</a>于2018-07-08）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.au=Brown%2C+A.&amp;rft.aufirst=K.&amp;rft.aulast=Jung&amp;rft.btitle=Beginning+Lua+Programming&amp;rft.date=2007&amp;rft.genre=book&amp;rft.isbn=978-0-470-06917-2&amp;rft.pub=Wrox+Press&amp;rft_id=https%3A%2F%2Fwww.wrox.com%2FWileyCDA%2FWroxTitle%2FproductCd-0470069171.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation book">Figueiredo, L. H.; Celes, W.; Ierusalimschy, R. (编). <a rel="nofollow" class="external text" href="https://www.lua.org/gems/">Lua Programming Gems</a>. Lua.org. 2008 <span class="reference-accessdate"> [<span class="nowrap">2020-10-14</span>]</span>. <span title="国际标准书号">ISBN</span>&nbsp;978-85-903798-4-3. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201109013404/http://www.lua.org/gems/">存档</a>于2020-11-09）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.au=Celes%2C+W.&amp;rft.au=Ierusalimschy%2C+R.&amp;rft.aufirst=L.+H.&amp;rft.aulast=Figueiredo&amp;rft.btitle=Lua+Programming+Gems&amp;rft.date=2008&amp;rft.genre=book&amp;rft.isbn=978-85-903798-4-3&amp;rft.pub=Lua.org&amp;rft_id=https%3A%2F%2Fwww.lua.org%2Fgems%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation book">Takhteyev, Yuri. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20121102000628/http://codingplaces.net/">Coding Places: Software Practice in a South American City</a>. <a href="The_MIT_Press" class="mw-redirect" title="The MIT Press">The MIT Press</a>. 2012 <span class="reference-accessdate"> [<span class="nowrap">2020-10-14</span>]</span>. <span title="国际标准书号">ISBN</span>&nbsp;978-0-262-01807-4. （<a rel="nofollow" class="external text" href="https://codingplaces.net/">原始内容</a>存档于2012-11-02）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.aufirst=Yuri&amp;rft.aulast=Takhteyev&amp;rft.btitle=Coding+Places%3A+Software+Practice+in+a+South+American+City&amp;rft.date=2012&amp;rft.genre=book&amp;rft.isbn=978-0-262-01807-4&amp;rft.pub=The+MIT+Press&amp;rft_id=https%3A%2F%2Fcodingplaces.net%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span> Chapters 6 and 7 are dedicated to Lua, while others look at software in Brazil more broadly.</li>
<li><cite class="citation book">Varma, Jayant. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20210414065918/https://www.amazon.com/exec/obidos/ASIN/1430246626/lua-docs-20">Learn Lua for iOS Game Development</a>. <a href="Apress" class="mw-redirect" title="Apress">Apress</a>. 2012 <span class="reference-accessdate"> [<span class="nowrap">2020-10-14</span>]</span>. <span title="国际标准书号">ISBN</span>&nbsp;978-1-4302-4662-6. （<a rel="nofollow" class="external text" href="https://www.amazon.com/exec/obidos/ASIN/1430246626/lua-docs-20">原始内容</a>存档于2021-04-14）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.aufirst=Jayant&amp;rft.aulast=Varma&amp;rft.btitle=Learn+Lua+for+iOS+Game+Development&amp;rft.date=2012&amp;rft.genre=book&amp;rft.isbn=978-1-4302-4662-6&amp;rft.pub=Apress&amp;rft_id=https%3A%2F%2Fwww.amazon.com%2Fexec%2Fobidos%2FASIN%2F1430246626%2Flua-docs-20&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation web">Matheson, Ash. <a rel="nofollow" class="external text" href="https://www.gamedev.net/page/resources/_/technical/game-programming/an-introduction-to-lua-r1932">An Introduction to Lua</a>. GameDev.net. 29 April 2003 <span class="reference-accessdate"> [<span class="nowrap">3 January</span> 2013]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20121218104442/http://www.gamedev.net/page/resources/_/technical/game-programming/an-introduction-to-lua-r1932">存档</a>于2012-12-18）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=An+Introduction+to+Lua&amp;rft.au=Matheson%2C+Ash&amp;rft.date=2003-04-29&amp;rft.genre=unknown&amp;rft.jtitle=GameDev.net&amp;rft_id=https%3A%2F%2Fwww.gamedev.net%2Fpage%2Fresources%2F_%2Ftechnical%2Fgame-programming%2Fan-introduction-to-lua-r1932&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation web">Fieldhouse, Keith. <a rel="nofollow" class="external text" href="http://www.onlamp.com/pub/a/onlamp/2006/02/16/introducing-lua.html">Introducing Lua</a>. ONLamp.com. <a href="O'Reilly_Media" class="mw-redirect" title="O'Reilly Media">O'Reilly Media</a>. 16 February 2006 <span class="reference-accessdate"> [<span class="nowrap">28 February</span> 2006]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20060312124121/http://www.onlamp.com/pub/a/onlamp/2006/02/16/introducing-lua.html">存档</a>于2006-03-12）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Introducing+Lua&amp;rft.aufirst=Keith&amp;rft.aulast=Fieldhouse&amp;rft.date=2006-02-16&amp;rft.genre=unknown&amp;rft.jtitle=ONLamp.com&amp;rft_id=http%3A%2F%2Fwww.onlamp.com%2Fpub%2Fa%2Fonlamp%2F2006%2F02%2F16%2Fintroducing-lua.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation web">Streicher, Martin. <a rel="nofollow" class="external text" href="https://www.ibm.com/developerworks/linux/library/l-lua.html">Embeddable scripting with Lua</a>. developerWorks. <a href="IBM" title="IBM">IBM</a>. 28 April 2006 <span class="reference-accessdate"> [<span class="nowrap">2020-10-14</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20090702111603/http://www.ibm.com/developerworks/linux/library/l-lua.html">存档</a>于2009-07-02）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Embeddable+scripting+with+Lua&amp;rft.aufirst=Martin&amp;rft.aulast=Streicher&amp;rft.date=2006-04-28&amp;rft.genre=unknown&amp;rft.jtitle=developerWorks&amp;rft_id=https%3A%2F%2Fwww.ibm.com%2Fdeveloperworks%2Flinux%2Flibrary%2Fl-lua.html&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation journal">Quigley, Joseph. <a rel="nofollow" class="external text" href="https://www.linuxjournal.com/article/9605">A Look at Lua</a>. Linux Journal. 1 June 2007 <span class="reference-accessdate"> [<span class="nowrap">2020-10-14</span>]</span>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201030221035/https://www.linuxjournal.com/article/9605">存档</a>于2020-10-30）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=A+Look+at+Lua&amp;rft.aufirst=Joseph&amp;rft.aulast=Quigley&amp;rft.date=2007-06-01&amp;rft.genre=article&amp;rft.jtitle=Linux+Journal&amp;rft_id=https%3A%2F%2Fwww.linuxjournal.com%2Farticle%2F9605&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><cite class="citation news">Hamilton, Naomi. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20180708020030/https://www.computerworld.com.au/article/260022/a-z_programming_languages_lua/">The A-Z of Programming Languages: Lua</a>. <a href="Computerworld" title="Computerworld">Computerworld</a> (<a href="International_Data_Group" class="mw-redirect" title="International Data Group">IDG</a>). 11 September 2008 <span class="reference-accessdate"> [<span class="nowrap">7 July</span> 2018]</span>. （<a rel="nofollow" class="external text" href="https://www.computerworld.com.au/article/260022/a-z_programming_languages_lua/">原始内容</a>存档于2018-07-08）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=The+A-Z+of+Programming+Languages%3A+Lua&amp;rft.aufirst=Naomi&amp;rft.aulast=Hamilton&amp;rft.date=2008-09-11&amp;rft.genre=article&amp;rft.jtitle=Computerworld&amp;rft_id=https%3A%2F%2Fwww.computerworld.com.au%2Farticle%2F260022%2Fa-z_programming_languages_lua%2F&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span> Interview with Roberto Ierusalimschy.</li>
<li><cite class="citation journal">Ierusalimschy, Roberto; de Figueiredo, Luiz Henrique; Celes, Waldemar. <a rel="nofollow" class="external text" href="https://queue.acm.org/detail.cfm?id=1983083">Passing a Language through the Eye of a Needle</a>. ACM Queue. 12 May 2011, <b>9</b> (5): 20–29 <span class="reference-accessdate"> [<span class="nowrap">7 July</span> 2018]</span>. <a rel="nofollow" class="external text" data-mw-original-href="//doi.org/10.1145%2F1978862.1983083" href="https://doi.org/10.1145%2F1978862.1983083"><span title="數位物件識別號">doi:10.1145/1978862.1983083</span></a>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20180708074350/https://queue.acm.org/detail.cfm?id=1983083">存档</a>于2018-07-08）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=Passing+a+Language+through+the+Eye+of+a+Needle&amp;rft.au=Celes%2C+Waldemar&amp;rft.au=de+Figueiredo%2C+Luiz+Henrique&amp;rft.aufirst=Roberto&amp;rft.aulast=Ierusalimschy&amp;rft.date=2011-05-12&amp;rft.genre=article&amp;rft.issue=5&amp;rft.jtitle=ACM+Queue&amp;rft.pages=20-29&amp;rft.volume=9&amp;rft_id=https%3A%2F%2Fqueue.acm.org%2Fdetail.cfm%3Fid%3D1983083&amp;rft_id=info%3Adoi%2F10.1145%2F1978862.1983083&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span> How the embeddability of Lua impacted its design.</li>
<li><cite class="citation journal">Ierusalimschy, Roberto; de Figueiredo, Luiz Henrique; Celes, Waldemar. <a rel="nofollow" class="external text" href="https://cacm.acm.org/magazines/2018/11/232214-a-look-at-the-design-of-lua/fulltext">A Look at the Design of Lua</a>. <a href="Communications_of_the_ACM" class="mw-redirect" title="Communications of the ACM">Communications of the ACM</a>. November 2018, <b>61</b> (11): 114–123 <span class="reference-accessdate"> [<span class="nowrap">2020-10-14</span>]</span>. <a rel="nofollow" class="external text" data-mw-original-href="//doi.org/10.1145%2F3186277" href="https://doi.org/10.1145%2F3186277"><span title="數位物件識別號">doi:10.1145/3186277</span></a>. （原始内容<a rel="nofollow" class="external text" href="https://web.archive.org/web/20210109110903/https://cacm.acm.org/magazines/2018/11/232214-a-look-at-the-design-of-lua/fulltext">存档</a>于2021-01-09）.</cite><span title="ctx_ver=Z39.88-2004&amp;rfr_id=info%3Asid%2Fzh.wikipedia.org%3ALua&amp;rft.atitle=A+Look+at+the+Design+of+Lua&amp;rft.au=Celes%2C+Waldemar&amp;rft.au=de+Figueiredo%2C+Luiz+Henrique&amp;rft.aufirst=Roberto&amp;rft.aulast=Ierusalimschy&amp;rft.date=2018-11&amp;rft.genre=article&amp;rft.issue=11&amp;rft.jtitle=Communications+of+the+ACM&amp;rft.pages=114-123&amp;rft.volume=61&amp;rft_id=https%3A%2F%2Fcacm.acm.org%2Fmagazines%2F2018%2F11%2F232214-a-look-at-the-design-of-lua%2Ffulltext&amp;rft_id=info%3Adoi%2F10.1145%2F3186277&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal" class="Z3988"><span style="display:none;">&nbsp;</span></span></li>
<li><a rel="nofollow" class="external text" href="https://www.lua.org/papers.html">Lua papers and theses</a> （<a rel="nofollow" class="external text" href="https://web.archive.org/web/20201004061847/https://www.lua.org/papers.html">页面存档备份</a>，存于<a href="%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86" title="互联网档案馆">互联网档案馆</a>）</li></ul>
</div>
<div class="mw-heading mw-heading2"><h2 id="外部链接"><span id=".E5.A4.96.E9.83.A8.E9.93.BE.E6.8E.A5"></span>外部链接</h2></div>
<style data-mw-deduplicate="TemplateStyles:r82655521">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .side-box{margin:4px 0;box-sizing:border-box;border:1px solid #aaa;font-size:88%;line-height:1.25em;background-color:#f9f9f9;display:flow-root}.mw-parser-output .side-box-abovebelow,.mw-parser-output .side-box-text{padding:0.25em 0.9em}.mw-parser-output .side-box-image{padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .side-box-imageright{padding:2px 0.9em 2px 0;text-align:center}@media(min-width:500px){.mw-parser-output .side-box-flex{display:flex;align-items:center}.mw-parser-output .side-box-text{flex:1}}@media(min-width:720px){.mw-parser-output .side-box{width:238px}.mw-parser-output .side-box-right{clear:right;float:right;margin-left:1em}.mw-parser-output .side-box-left{margin-right:1em}}


/* end   https://zh.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r83112147">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .sister-box .side-box-abovebelow{padding:0.75em 0;text-align:center}.mw-parser-output .sister-box .side-box-abovebelow>b{display:block}.mw-parser-output .sister-box .side-box-text>ul{border-top:1px solid #aaa;padding:0.75em 0;width:217px;margin:0 auto}.mw-parser-output .sister-box .side-box-text>ul>li{min-height:31px}.mw-parser-output .sister-logo{display:inline-block;width:31px;line-height:31px;vertical-align:middle;text-align:center}.mw-parser-output .sister-link{display:inline-block;margin-left:4px;width:182px;vertical-align:middle}


/* end   https://zh.wikipedia.org/ */
</style>
<ul><li><span class="official-website"><span class="url"><a rel="nofollow" class="external text" href="https://www.lua.org/">官方网站</a></span></span></li>
<li><a rel="nofollow" class="external text" href="http://lua-users.org/">Lua Users</a> （<a rel="nofollow" class="external text" href="https://web.archive.org/web/20101216084624/http://lua-users.org/">页面存档备份</a>，存于<a href="%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86" title="互联网档案馆">互联网档案馆</a>）, 用户社区</li>
<li><a rel="nofollow" class="external text" href="https://github.com/LewisJEllis/awesome-lua">Awesome Lua</a> （<a rel="nofollow" class="external text" href="https://web.archive.org/web/20240529214902/https://github.com/LewisJEllis/awesome-lua">页面存档备份</a>，存于<a href="%E4%BA%92%E8%81%94%E7%BD%91%E6%A1%A3%E6%A1%88%E9%A6%86" title="互联网档案馆">互联网档案馆</a>）</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r84265675">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:" :"}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist-pipe dd::after,.mw-parser-output .hlist-pipe li::after{content:" | ";font-weight:normal}.mw-parser-output .hlist-hyphen dd::after,.mw-parser-output .hlist-hyphen li::after{content:" - ";font-weight:normal}.mw-parser-output .hlist-comma dd::after,.mw-parser-output .hlist-comma li::after{content:"、";font-weight:normal}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:"（"counter(listitem)"\a0 "}.mw-parser-output ul.cslist,.mw-parser-output ul.sslist{margin:0;padding:0;display:inline-block;list-style:none}.mw-parser-output .cslist li,.mw-parser-output .sslist li{margin:0;display:inline-block}.mw-parser-output .cslist li::after{content:"，"}.mw-parser-output .sslist li::after{content:"；"}.mw-parser-output .cslist li:last-child::after,.mw-parser-output .sslist li:last-child::after{content:none}


/* end   https://zh.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r91443247">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{text-align:center;padding-left:1em;padding-right:1em}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd;color:inherit}.mw-parser-output .navbox-list{border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf;color:inherit;position:relative}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf;color:inherit}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff;color:inherit}.mw-parser-output .navbox-even{background-color:#f7f7f7;color:inherit}.mw-parser-output .navbox-odd{background-color:transparent;color:inherit}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em;width:auto;padding-left:0.2em;padding-right:0.2em;position:absolute;left:1em}.mw-parser-output .navbox .mw-collapsible-toggle{margin-left:0.5em;position:absolute;right:1em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end   https://zh.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="编程语言21249" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="collapsible-title navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r84244141">
/* start https://zh.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:110%;margin:0 8em}.mw-parser-output .navbar-ct-mini{font-size:110%;margin:0 5em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end   https://zh.wikipedia.org/ */
</style><div id="编程语言21249" style="font-size:110%;margin:0 5em"><a href="%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80" title="编程语言">编程语言</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E7%BC%96%E7%A8%8B%E8%8C%83%E5%9E%8B" title="编程范型">范型</a>分类</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E8%BF%87%E7%A8%8B%E5%BC%8F%E7%BC%96%E7%A8%8B" title="过程式编程">过程式</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Fortran" title="Fortran">FORTRAN</a></li>
<li><a href="COBOL" title="COBOL">COBOL</a></li>
<li><a href="JOVIAL" title="JOVIAL">JOVIAL</a></li>
<li><a href="ALGOL_60" title="ALGOL 60">ALGOL 60</a></li>
<li><span class="ilh-all" data-orig-title="JOSS" data-lang-code="en" data-lang-name="英语" data-foreign-title="JOSS"><span class="ilh-page">JOSS</span></span></li>
<li><a href="BASIC" title="BASIC">BASIC</a></li>
<li><a href="PL/I" title="PL/I">PL/I</a></li>
<li><a href="MUMPS" title="MUMPS">MUMPS</a></li>
<li><a href="ALGOL_68" title="ALGOL 68">ALGOL 68</a></li>
<li><a href="Forth" title="Forth">Forth</a></li>
<li><a href="Pascal%E8%AA%9E%E8%A8%80" title="Pascal語言">Pascal</a>
<ul><li><a href="Turbo_Pascal" title="Turbo Pascal">Turbo Pascal</a></li></ul></li>
<li><a href="C%E8%AF%AD%E8%A8%80" title="C语言">C</a></li>
<li><a href="Modula-2" title="Modula-2">Modula-2</a></li>
<li><a href="Ada" title="Ada">Ada 83</a></li>
<li><a href="Occam" title="Occam">occam</a></li>
<li><a href="Oberon" title="Oberon">Oberon</a></li>
<li><a href="Go%E8%AA%9E%E8%A8%80" title="Go語言">Go</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1" title="面向对象程序设计">面向对象</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Simula" title="Simula">Simula 67</a></li>
<li><a href="Smalltalk" title="Smalltalk">Smalltalk</a></li>
<li><a href="Objective-C" title="Objective-C">Objective-C</a></li>
<li><a href="Eiffel" title="Eiffel">Eiffel</a></li>
<li><a href="Object_Pascal" title="Object Pascal">Object Pascal</a>
<ul><li><a href="Delphi" title="Delphi">Delphi</a></li></ul></li>
<li><a href="Self_(%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80)" title="Self (编程语言)">Self</a></li>
<li><a href="Visual_Basic" title="Visual Basic">Visual Basic</a></li>
<li><a href="Java" title="Java">Java</a></li>
<li><a href="C%E2%99%AF" title="C♯">C#</a>
<ul><li><a href="Vala" title="Vala">Vala</a></li></ul></li>
<li><a href="Groovy" title="Groovy">Groovy</a></li>
<li><span class="ilh-all" data-orig-title="Crystal语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="Crystal (programming language)"><span class="ilh-page">Crystal</span></span></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E5%A4%9A%E9%87%8D%E7%BC%96%E7%A8%8B%E8%8C%83%E5%9E%8B" title="多重编程范型">多范型</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="C%2B%2B" title="C++">C++</a></li>
<li><a href="Modula-3" title="Modula-3">Modula-3</a></li>
<li><a href="Fortran#Fortran_90" title="Fortran">Fortran 90</a></li>
<li><a href="Dylan%E8%AF%AD%E8%A8%80" title="Dylan语言">Dylan</a></li>
<li><a href="Python" title="Python">Python</a></li>
<li><a class="mw-selflink selflink">Lua</a></li>
<li><a href="Ada" title="Ada">Ada 95</a></li>
<li><a href="JavaScript" title="JavaScript">JavaScript</a></li>
<li><a href="Ruby" title="Ruby">Ruby</a></li>
<li><a href="Factor%E8%AF%AD%E8%A8%80" title="Factor语言">Factor</a></li>
<li><a href="Scala" title="Scala">Scala</a></li>
<li><a href="Nim" title="Nim">Nim</a></li>
<li><span class="ilh-all" data-orig-title="Chapel语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="Chapel (programming language)"><span class="ilh-page">Chapel</span></span></li>
<li><a href="Rust_(%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80)" title="Rust (编程语言)">Rust</a></li>
<li><a href="Kotlin" title="Kotlin">Kotlin</a></li>
<li><a href="Swift%E8%AA%9E%E8%A8%80" title="Swift語言">Swift</a></li>
<li><a href="Zig" title="Zig">Zig</a></li>
<li><span class="ilh-all" data-orig-title="V语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="V (programming language)"><span class="ilh-page">V</span></span></li>
<li><a href="Mojo" title="Mojo">Mojo</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E5%87%BD%E6%95%B0%E5%BC%8F%E7%BC%96%E7%A8%8B" title="函数式编程">函数式</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="LISP" title="LISP">LISP</a>
<ul><li><a href="Scheme" title="Scheme">Scheme</a></li>
<li><a href="Common_Lisp" title="Common Lisp">Common Lisp</a></li>
<li><a href="Clojure" title="Clojure">Clojure</a></li></ul></li>
<li><a href="Logo_(%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80)" title="Logo (程序设计语言)">Logo</a></li>
<li><a href="APL%E8%AA%9E%E8%A8%80" title="APL語言">APL</a>/<tt><a href="J%E8%AF%AD%E8%A8%80" title="J语言">J</a></tt></li>
<li><a href="ML%E8%AF%AD%E8%A8%80" title="ML语言">ML</a>
<ul><li><a href="Standard_ML" title="Standard ML">Standard ML</a></li>
<li><a href="OCaml" title="OCaml">OCaml</a></li></ul></li>
<li><a href="Erlang" title="Erlang">Erlang</a>
<ul><li><a href="Elixir_(%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80)" title="Elixir (编程语言)">Elixir</a></li></ul></li>
<li><a href="Haskell" title="Haskell">Haskell</a></li>
<li><a href="Agda" title="Agda">Agda</a></li>
<li><a href="Idris" title="Idris">Idris</a></li>
<li><a href="Jq%E8%AF%AD%E8%A8%80" title="Jq语言">jq</a></li>
<li><span class="ilh-all" data-orig-title="Gleam语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="Gleam (programming language)"><span class="ilh-page">Gleam</span></span></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E9%82%8F%E8%BC%AF%E7%B7%A8%E7%A8%8B" title="邏輯編程">逻辑式</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Prolog" title="Prolog">Prolog</a></li>
<li><a href="Datalog" title="Datalog">Datalog</a></li>
<li><a href="Mercury%E8%AF%AD%E8%A8%80" title="Mercury语言">Mercury</a></li>
<li><a href="%E5%9B%9E%E7%AD%94%E9%9B%86%E7%BC%96%E7%A8%8B" title="回答集编程">AnsProlog</a></li>
<li><span class="ilh-all" data-orig-title="ProbLog" data-lang-code="en" data-lang-name="英语" data-foreign-title="ProbLog"><span class="ilh-page">ProbLog</span></span></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E8%84%9A%E6%9C%AC%E8%AF%AD%E8%A8%80" title="脚本语言">脚本语言</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E5%8A%A8%E6%80%81%E8%AF%AD%E8%A8%80" title="动态语言">动态语言</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="SNOBOL" title="SNOBOL">SNOBOL</a></li>
<li><a href="Icon%E8%AF%AD%E8%A8%80" title="Icon语言">Icon</a></li>
<li><a href="REXX" title="REXX">REXX</a></li>
<li><a href="Perl" title="Perl">Perl</a>
<ul><li><a href="Raku" title="Raku">Raku</a></li></ul></li>
<li><a href="Tcl" title="Tcl">Tcl</a>/<a href="Tk" title="Tk">Tk</a></li>
<li><a href="Common_Lisp%E5%AF%B9%E8%B1%A1%E7%B3%BB%E7%BB%9F" title="Common Lisp对象系统">CLOS</a></li>
<li><a href="Python" title="Python">Python</a></li>
<li><a class="mw-selflink selflink">Lua</a></li>
<li><a href="Ruby" title="Ruby">Ruby</a></li>
<li><a href="PHP" title="PHP">PHP</a></li>
<li><span class="ilh-all" data-orig-title="ColdFusion标记语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="ColdFusion Markup Language"><span class="ilh-page">CFML</span></span></li>
<li><a href="REBOL" title="REBOL">REBOL</a>
<ul><li><span class="ilh-all" data-orig-title="Red语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="Red (programming language)"><span class="ilh-page">Red</span></span></li></ul></li>
<li><a href="Julia%E8%AF%AD%E8%A8%80" title="Julia语言">Julia</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E5%A4%96%E5%A3%B3%E8%84%9A%E6%9C%AC" title="外壳脚本">外壳脚本</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Unix_shell" title="Unix shell">Unix shell</a>
<ul><li><a href="Bourne_shell" title="Bourne shell">sh</a>/<a href="Almquist_shell" title="Almquist shell">ash</a>/<a href="Debian_Almquist_shell" title="Debian Almquist shell">dash</a></li>
<li><a href="C_Shell" title="C Shell">csh</a>/<a href="Tcsh" title="Tcsh">tcsh</a></li>
<li><a href="KornShell" title="KornShell">ksh</a></li>
<li><a href="Bash" title="Bash">bash</a></li>
<li><a href="Z_shell" title="Z shell">zsh</a></li>
<li><span class="ilh-all" data-orig-title="rc" data-lang-code="en" data-lang-name="英语" data-foreign-title="rc (Unix shell)"><span class="ilh-page">rc</span></span></li></ul></li>
<li><a href="AWK" title="AWK">AWK</a></li>
<li><a href="PowerShell" title="PowerShell">PowerShell</a></li>
<li><a href="Jq%E8%AF%AD%E8%A8%80" title="Jq语言">jq</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E5%8B%95%E6%85%8B%E7%B6%B2%E9%A0%81" title="動態網頁">客户端脚本</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="ECMAScript" title="ECMAScript">ECMAScript</a>
<ul><li><a href="JavaScript" title="JavaScript">JavaScript</a></li></ul></li>
<li><a href="Dart" title="Dart">Dart</a></li>
<li><a href="TypeScript" title="TypeScript">TypeScript</a></li>
<li><a href="PureScript" title="PureScript">PureScript</a></li>
<li><a href="Reason%E8%AF%AD%E8%A8%80" title="Reason语言">Reason</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">特定平台</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href=".NET" title=".NET">.NET</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="C%E2%99%AF" title="C♯">C#</a></li>
<li><a href="C%2B%2B/CLI" title="C++/CLI">C++/CLI</a></li>
<li><a href="F%E2%99%AF" title="F♯">F#</a></li>
<li><a href="PowerShell" title="PowerShell">PowerShell</a></li>
<li><a href="Visual_Basic_.NET" title="Visual Basic .NET">VB.NET</a></li>
<li><a href="Microsoft_Small_Basic" title="Microsoft Small Basic">Small Basic</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="Java%E8%99%9A%E6%8B%9F%E6%9C%BA" title="Java虚拟机">JVM</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Java" title="Java">Java</a>
<ul><li><span class="ilh-all" data-orig-title="AspectJ" data-lang-code="en" data-lang-name="英语" data-foreign-title="AspectJ"><span class="ilh-page">AspectJ</span></span></li></ul></li>
<li><a href="Scala" title="Scala">Scala</a></li>
<li><a href="Clojure" title="Clojure">Clojure</a></li>
<li><a href="Groovy" title="Groovy">Groovy</a></li>
<li><a href="Kotlin" title="Kotlin">Kotlin</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E9%A2%86%E5%9F%9F%E7%89%B9%E5%AE%9A%E8%AF%AD%E8%A8%80" title="领域特定语言">特定领域</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E8%BF%90%E7%AE%97%E7%A7%91%E5%AD%A6" title="运算科学">科学计算</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><span class="ilh-all" data-orig-title="Speakeasy (计算机环境)" data-lang-code="en" data-lang-name="英语" data-foreign-title="Speakeasy (computational environment)"><span class="ilh-page">Speakeasy</span></span></li>
<li><a href="%E4%BA%A4%E4%BA%92%E5%BC%8F%E6%95%B0%E6%8D%AE%E8%AF%AD%E8%A8%80" title="交互式数据语言">IDL</a>
<ul><li><a href="GNU%E6%95%B0%E6%8D%AE%E8%AF%AD%E8%A8%80" title="GNU数据语言">GDL</a></li></ul></li>
<li><a href="Maxima" title="Maxima">Maxima</a></li>
<li><a href="Maple" title="Maple">Maple</a></li>
<li><a href="MATLAB" title="MATLAB">MATLAB</a>
<ul><li><a href="GNU_Octave" title="GNU Octave">Octave</a></li>
<li><a href="Scilab" title="Scilab">Scilab</a></li></ul></li>
<li><a href="Wolfram%E8%AF%AD%E8%A8%80" title="Wolfram语言">Wolfram</a></li>
<li><a href="R%E8%AF%AD%E8%A8%80" title="R语言">R</a></li>
<li><span class="ilh-all" data-orig-title="Yorick语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="Yorick (programming language)"><span class="ilh-page">Yorick</span></span></li>
<li><a href="SageMath" title="SageMath">SageMath</a></li>
<li><a href="Julia%E8%AF%AD%E8%A8%80" title="Julia语言">Julia</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E5%9B%BE%E5%BD%A2%E5%A4%84%E7%90%86%E5%99%A8%E9%80%9A%E7%94%A8%E8%AE%A1%E7%AE%97" class="mw-redirect" title="图形处理器通用计算">GPU计算</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="Cg%E8%AA%9E%E8%A8%80" title="Cg語言">Cg</a>/<a href="%E9%AB%98%E7%BA%A7%E7%9D%80%E8%89%B2%E5%99%A8%E8%AF%AD%E8%A8%80" title="高级着色器语言">HLSL</a></li>
<li><a href="GLSL" title="GLSL">GLSL/GLSL ES</a></li>
<li><span class="ilh-all" data-orig-title="BrookGPU" data-lang-code="en" data-lang-name="英语" data-foreign-title="BrookGPU"><span class="ilh-page">Brook</span></span></li>
<li><a href="CUDA" title="CUDA">CUDA</a>/<span class="ilh-all" data-orig-title="并行线程执行" data-lang-code="en" data-lang-name="英语" data-foreign-title="Parallel Thread Execution"><span class="ilh-page">PTX</span></span></li>
<li><a href="OpenCL" title="OpenCL">OpenCL</a>/<span class="ilh-all" data-orig-title="标准可移植中间表示" data-lang-code="en" data-lang-name="英语" data-foreign-title="Standard Portable Intermediate Representation"><span class="ilh-page">SPIR-V</span></span></li>
<li><a href="Futhark%E8%AF%AD%E8%A8%80" title="Futhark语言">Futhark</a></li>
<li><span class="ilh-all" data-orig-title="WebGPU着色语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="WebGPU Shading Language"><span class="ilh-page">WGSL</span></span></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E6%9F%A5%E8%A9%A2%E8%AA%9E%E8%A8%80" title="查詢語言">数据查询</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><span class="ilh-all" data-orig-title="CODASYL" data-lang-code="en" data-lang-name="英语" data-foreign-title="CODASYL"><span class="ilh-page">CODASYL</span></span></li>
<li><a href="SQL" title="SQL">SQL</a>
<ul><li><a href="PL-SQL" title="PL-SQL">PL/SQL</a></li>
<li><a href="Transact-SQL" title="Transact-SQL">T-SQL</a></li>
<li><span class="ilh-all" data-orig-title="SQL/PSM" data-lang-code="en" data-lang-name="英语" data-foreign-title="SQL/PSM"><span class="ilh-page">SQL/PSM</span></span></li></ul></li>
<li><span class="ilh-all" data-orig-title="xBase" data-lang-code="en" data-lang-name="英语" data-foreign-title="xBase"><span class="ilh-page">xBase</span></span></li>
<li><a href="XPath" title="XPath">XPath</a></li>
<li><span class="ilh-all" data-orig-title="XQuery" data-lang-code="en" data-lang-name="英语" data-foreign-title="XQuery"><span class="ilh-page">XQuery</span></span></li>
<li><a href="GraphQL" title="GraphQL">GraphQL</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E8%A6%96%E8%A6%BA%E5%8C%96%E7%A8%8B%E5%BC%8F%E8%A8%AD%E8%A8%88%E8%AA%9E%E8%A8%80" title="視覺化程式設計語言">可视化</a></th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="%E6%B5%81%E7%A8%8B%E5%9B%BE" title="流程图">Flowchart</a></li>
<li><span class="ilh-all" data-orig-title="Prograph" data-lang-code="en" data-lang-name="英语" data-foreign-title="Prograph"><span class="ilh-page">Prograph</span></span></li>
<li><a href="Simulink" title="Simulink">Simulink</a></li>
<li><a href="LabVIEW" title="LabVIEW">LabVIEW</a></li>
<li><span class="ilh-all" data-orig-title="Orange (软件)" data-lang-code="en" data-lang-name="英语" data-foreign-title="Orange (software)"><span class="ilh-page">Orange</span></span></li>
<li><span class="ilh-all" data-orig-title="KNIME" data-lang-code="en" data-lang-name="英语" data-foreign-title="KNIME"><span class="ilh-page">KNIME</span></span></li>
<li><a href="Scratch" title="Scratch">Scratch</a>
<ul><li><a href="Snap!" title="Snap!">Snap!</a></li>
<li><a href="MIT%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E8%80%85" title="MIT应用开发者">App Inventor</a></li></ul></li>
<li><a href="Microsoft_Power_Fx" title="Microsoft Power Fx">Power Fx</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="%E4%BC%A0%E5%AA%92%E8%AE%BE%E8%AE%A1" title="传媒设计">传媒设计</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="SuperCollider" title="SuperCollider">SuperCollider</a></li>
<li><a href="Pure_Data" title="Pure Data">Pure Data</a></li>
<li><a href="AviSynth#AviSynth脚本语言" title="AviSynth">AviSynth</a></li>
<li><a href="Processing" title="Processing">Processing</a></li>
<li><a href="ChucK" title="ChucK">ChucK</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">其它语言</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0px"><div style="padding:0em 0.25em">
<ul><li><a href="%E6%B1%87%E7%BC%96%E8%AF%AD%E8%A8%80" title="汇编语言">Assembly</a></li>
<li><a href="Plankalk%C3%BCl" title="Plankalkül">Plankalkül</a></li>
<li><span class="ilh-all" data-orig-title="APT语言" data-lang-code="en" data-lang-name="英语" data-foreign-title="APT (programming language)"><span class="ilh-page">APT</span></span></li>
<li><span class="ilh-all" data-orig-title="GPSS" data-lang-code="en" data-lang-name="英语" data-foreign-title="GPSS"><span class="ilh-page">GPSS</span></span></li>
<li><span class="ilh-all" data-orig-title="CLIPS" data-lang-code="en" data-lang-name="英语" data-foreign-title="CLIPS"><span class="ilh-page">CLIPS</span></span></li>
<li><a href="AMPL" title="AMPL">AMPL</a></li>
<li><a href="Dc_(%E7%A8%8B%E5%BA%8F)" title="Dc (程序)">dc</a></li>
<li><a href="Sed" title="Sed">sed</a></li>
<li><a href="Yacc" title="Yacc">yacc</a></li>
<li><a href="Make" title="Make">make</a></li>
<li><a href="PostScript#PostScript语言" title="PostScript">PostScript</a></li>
<li><a href="XSLT" title="XSLT">XSLT</a></li>
<li><a href="LLVM#中间表示" title="LLVM">LLVM IR</a></li>
<li><a href="WebAssembly" title="WebAssembly">WebAssembly</a></li>
<li><a href="%E6%B7%B1%E5%A5%A5%E7%9A%84%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80" title="深奥的编程语言">Esolang</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><img alt="" src="./_assets_/0c70a452f799bfe840676ee341124611/Symbol_category_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" data-file-width="180" data-file-height="185" loading="lazy"></span> 目录</li>
<li><span class="noviewer" typeof="mw:File"><img alt="" src="./_assets_/0c70a452f799bfe840676ee341124611/Symbol_list_class.svg.png" decoding="async" width="16" height="16" class="mw-file-element" data-file-width="180" data-file-height="185" loading="lazy"></span> <a href="%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80%E5%88%97%E8%A1%A8" title="编程语言列表">列表</a>
<ul><li><span class="ilh-all" data-orig-title="按類型分類的程式語言表目" data-lang-code="en" data-lang-name="英语" data-foreign-title="List of programming languages by type"><span class="ilh-page">按类型排列</span></span></li></ul></li>
<li><a href="%E7%A8%8B%E5%BC%8F%E8%AA%9E%E8%A8%80%E6%AD%B7%E5%8F%B2" title="程式語言歷史">历史</a></li>
<li><span class="ilh-all" data-orig-title="编程语言比较" data-lang-code="en" data-lang-name="英语" data-foreign-title="Comparison of programming languages"><span class="ilh-page">比较</span></span></li>
<li><a href="%E7%A8%8B%E5%BA%8F%E8%AA%9E%E8%A8%80%E6%99%82%E9%96%93%E7%B7%9A" title="程序語言時間線">时间线</a></li></ul>
</div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
    This article is issued from <a class="external text" title="Last edited on 2026-04-23" href="https://zh.wikipedia.org/wiki/?title=Lua&amp;oldid=92390583">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.zh">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
            </div>
          </main>
        </div>
      </div>
    </div>
     <script src="./_webp_/webpHandler.js"></script>
  

</body></html>