Lua 专题

发布时间: 更新时间: 总字数:474 阅读时间:1m 作者: 分享 复制网址

Lua(葡萄牙语代表美丽的月亮)1993 年在巴西里约热内卢天主教大学(Pontifical Catholic University of Rio de Janeiro in Brazil)诞生了一门过程型动态编程语言

介绍

相关文档:

Lua 特点:

  • 遵从简单、小巧、可移植、快速的原则,是一门轻量级脚本语言
  • 方便嵌入(其它应用程序)
  • 可扩展
  • 官方实现采用 ANSI C 编写,能以 C 程序库的形式嵌入到宿主程序中

应用:

  • 游戏开发
  • 机器人控制
  • 分布式应用
  • 图像处理
  • 生物信息学

Lua 代码特性

  • 变量名没有类型,值才有类型,变量名在运行时可与任何类型的值绑定
  • 语言只提供唯一一种数据结构,称为表(table)
  • 函数是一等类型
  • 支持词法定界(lexical scoping)闭包(closure)
  • LuaJITLua 即时编译(Just-in Time)技术)比 Lua 运行更快,基于 Lua 5.1 开发
    • 将 Lua 语言使用 JIT 技术直接编译为字节码,提升运行速度

安装 LuaJIT

包安装

apt install luajit

源码安装

wget http://luajit.org/download/LuaJIT-2.1.0-beta3.tar.gz
tar -zxvf LuaJIT-2.1.0-beta3.tar.gz -C /usr/local/
cd /usr/local/LuaJIT-2.1.0-beta3
make
sudo make install

# 添加软连接
$ ln -sf /usr/local/bin/luajit-2.1.0-beta3 /usr/local/bin/luajit
$ luajit -v
LuaJIT 2.1.0-beta3 -- Copyright (C) 2005-2017 Mike Pall. http://luajit.org/

hello world

$ cat << EOF > hello.lua
print("hello world")
EOF
  • 通过 luajit 命令运行
$ luajit hello.lua
hello world
  • 通过 lua 命令运行
-- 编译
luac hello.lua

-- 运行
lua luac.out

-- 或使用 luajit 和指定名称编译,-b 编译为字节码
luajit -b hello.lua luac.ljbc

参考

  1. https://www.lua.org/
  2. https://moonbingbing.gitbooks.io/openresty-best-practices/content/lua/brief.html
Home Archives Categories Tags Statistics
本文总阅读量 次 本站总访问量 次 本站总访客数