设计目的

其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。

Lua 特性

  • 轻量级: 它用标准C语言编写并以源代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程序里。
  • 可扩展: Lua提供了非常易于使用的扩展接口和机制:由宿主语言(通常是C或C++)提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。
  • 其它特性:
    • 支持面向过程(procedure-oriented)编程和函数式编程(functional programming);
    • 自动内存管理;只提供了一种通用类型的表(table),用它可以实现数组,哈希表,集合,对象;
    • 语言内置模式匹配;闭包(closure);函数也可以看做一个值;提供多线程(协同进程,并非操作系统所支持的线程)支持;
    • 通过闭包和table可以很方便地支持面向对象编程所需要的一些关键机制,比如数据抽象,虚函数,继承和重载等。

Hello World!

1
print("Hello World!")

交互式编程

1
2
3
> print("Hello World!")
> Hello World!
>

脚本式编程

​ 将下列代码存储在名为 hello.lua 的脚本文件中:

1
2
print("Hello World!")
print("www.runoob.com")

使用 lua 名执行以上脚本,输出结果为:

1
2
3
$ lua hello.lua
Hello World!
www.runoob.com

我们也可以将代码修改为如下形式来执行脚本(在开头添加:#!/usr/local/bin/lua):

实例

#!/usr/local/bin/lua

print(“Hello World!”)
print(“www.runoob.com")

以上代码中,我们指定了 Lua 的解释器 /usr/local/bin directory。加上 # 号标记解释器会忽略它。接下来我们为脚本添加可执行权限,并执行:

1
2
3
./hello.lua 
Hello World!
www.runoob.com

注释

单行注释

两个减号是单行注释:

1
--

多行注释

1
2
3
4
--[[
多行注释
多行注释
--]]

其他lua相关知识均可参考下面两个链接:

https://www.jb51.net/article/136109.htm

https://www.runoob.com/lua/lua-environment.html