上一节:
下一节:

  Lua - 基本语法

  • 简述

    让我们开始创建我们的第一个 Lua 程序吧!
  • 第一个 Lua 程序

    交互模式编程

    Lua 提供了一种称为交互模式的模式。在这种模式下,您可以一个接一个地输入说明并立即获得结果。这可以通过使用 lua -i 或仅使用 lua 命令在 shell 中调用。输入后,按 Enter,交互模式将启动,如下所示。
    
    $ lua -i 
    $ Lua 5.1.4  Copyright (C) 1994-2008 Lua.org, PUC-Rio
    quit to end; cd, dir and edit also available
    
    您可以使用以下语句打印一些内容 -
    
    print("test")
    
    按回车键后,您将获得以下输出 -
    
    test
    

    默认模式编程

    使用 Lua 文件名参数调用解释器开始执行文件并一直持续到脚本完成。脚本完成后,解释器不再处于活动状态。
    让我们编写一个简单的 Lua 程序。所有 Lua 文件的扩展名为 .lua。所以把下面的源代码放在一个test.lua文件中。
    
    print("test")
    
    假设 lua 环境设置正确,让我们使用以下代码运行程序 -
    
    $ lua test.lua
    
    我们将得到以下输出 -
    
    test
    
    让我们尝试另一种方式来执行 Lua 程序。以下是修改后的 test.lua 文件 -
    
    #!/usr/local/bin/lua
    print("test")
    
    在这里,我们假设您的 /usr/local/bin 目录中有 Lua 解释器可用。如果第一行以# 符号开头,解释器会忽略它。现在,尝试按如下方式运行此程序 -
    
    $ chmod a+rx test.lua
    $./test.lua
    
    我们将得到以下输出。
    
    test
    
    现在让我们看看 Lua 程序的基本结构,这样您就可以轻松理解 Lua 编程语言的基本构建块。
  • Lua 中的令牌

    Lua 程序由各种标记组成,标记可以是关键字、标识符、常量、字符串文字或符号。例如,以下 Lua 语句由三个标记组成 -
    
    io.write("Hello world, from ",_VERSION,"!\n")
    
    个人令牌是 -
    
    io.write
    (
       "Hello world, from ",_VERSION,"!\n"
    )
    
  • 注释

    注释就像 Lua 程序中的帮助文本,它们会被解释器忽略。它们以 --[[ 开始并以字符 --]] 结束,如下所示 -
    
    --[[ my first program in Lua --]]
    
  • 身份标识

    Lua 标识符是用于标识变量、函数或任何其他用户定义项的名称。标识符以字母“A 到 Z”或“a 到 z”或下划线“_”开头,后跟零个或多个字母、下划线和数字(0 到 9)。
    Lua 不允许在标识符中使用标点符号,例如 @、$ 和 %。Lua是一个case sensitive编程语言。因此Manpowermanpower在 Lua 中是两个不同的标识符。以下是可接受标识符的一些示例 -
    
    mohd         zara      abc     move_name    a_123
    myname50     _temp     j       a23b9        retVal
    
  • 关键词

    下面的列表显示了 Lua 中的一些保留字。这些保留字不能用作常量或变量或任何其他标识符名称。
    and break do else
    elseif end false for
    return then true until
    function if in local
    nil not or repeat
    while
  • Lua 中的空格

    仅包含空格,可能带有注释的行被称为空行,Lua 解释器完全忽略它。
    空白是 Lua 中用来描述空格、制表符、换行符和注释的术语。空格将语句的一部分与另一部分分开,并使解释器能够识别语句中的一个元素(例如 int)的结束位置和下一个元素的开始位置。因此,在以下声明中 -
    
    local age
    
    local 和 age 之间必须至少有一个空格字符(通常是一个空格),以便解释器能够区分它们。另一方面,在以下声明中 -
    
    fruit = apples + oranges   --get the total fruit
    
    fruit 和 = 之间 或 = 和apples 之间不需要空格字符,但如果您希望出于可读性目的,您可以随意包含一些空格字符。
上一节:
下一节: