简介
Lua 是一种扩展编程语言,旨在支持具有数据描述功能的通用程序编程。 它还为面向对象编程、函数式编程和数据驱动编程提供了良好的支持。 Lua 是一种功能强大的轻量级脚本语言,适用于任何有需要的程序。
概述
作为一种扩展语言,Lua 没有 "主 "程序的概念。 它只有嵌入主机程序(称为嵌入程序或简称主机)后才能工作。 该主机程序可以调用函数运行一段 Lua 代码,可以写入和读取 Lua 变量,还可以注册 C 函数供 Lua 代码调用。 通过使用 C 函数,可以对 Lua 进行增强,以处理各种不同的领域,从而创建共享语法框架的定制编程语言。
Netezza利用 Lua API 创建了nzLua。 nzLua可用于在Netezza设备上创建用户定义的函数、聚合和表函数。 nzLua 无法使用 Lua 的某些功能,如访问外部文件、运行外部程序和调试功能。 除了已删除的功能外,"nzLua中还添加了许多函数,使熟悉 SQL 中标准函数的开发人员更容易使用该语言。 用于创建nzLua的 Lua 版本LuaJIT)使用即时编译技术,将常用代码路径直接编译为80x86指令。
虽然比使用 C++ 编写的 UDX 慢,但 JIT 编译器的执行速度确实比Perl、Python 和JavaScript(包括同样使用 JIT 编译器的JavaScript V8)等其他解释型语言快5x到50x。 为了让nzLua尽可能简单易学,nzLua开发包包含一个示例目录,其中包含nzLua用户定义函数、聚合函数和表格函数示例。 许多示例都包含大量注释,解释如何使用nzLua 中的可用功能。