Lua 巴西里约热内卢天主教大学 1993年 脚本语言 标准 C 语言

官网: www.lua.org

搭建环境

  • 编译官方源码(windews 编译相对较繁琐,要有编译程序,比如 vs,windows 建议使用 LuaForWindows 安装包;linux 和 macos 相对简单,在下载的源源文件的 doc 中有编译步骤)

    <p><a href="http://www.lua.org/download.html">http://www.lua.org/download.html</a></p>
    
  • 下载编译好的文件直接安装(可能版本比较旧)

  • 使用第三方的 IDE

解释器和编译器

个人理解,解释器类似于 Java 中的 java 命令,可以直接使用 java className 差不多,只不过 java 得先编译,而 Lua 不用先编译(边编译边执行),直接执行 lua fileName 。Lua 的编译器就和 Java 的编译器类一样了,都是编译成二进制文件。

约定

  • Chunks 和 Blocks

    <blockquote>
      <p>Block: A block is a list of statements, which are executed sequentially</p>
    
      <p>Chunk: The unit of compilation of Lua is called a <em>chunk</em>. Syntactically, a chunk is simply a block</p>
    </blockquote>
    
    <p>Block 是一个或多个顺序执行的语句,Chunk 是 Lua 的一个编译单元(可以是一个 Lua 文件,一系列语法集合等),在语法结构上 Chunk 仅仅是一个 Block。</p>
    
    <div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>chunk ::= {stat [&#39;;&#39;]} -- chunk 可以是一个语句,可以是多个语句集合,还可以是函数,比如一个文件(文件中可能有比较复杂的操作),或者交互模式下的一行命令(一行命令也可能有很多的操作)
    

    stat ::= do black end – do … end 之间的部分被称为一个 block
    chunk ::= block – Syntactically, a chunk is simply a block