无涯教程-Lua - Modules(模块)

这篇具有很好参考价值的文章主要介绍了无涯教程-Lua - Modules(模块)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

模块就像可以使用 require 加载的库,并且具有包含Table的单个全局名称,该模块可以包含许多函数和变量。

Lua 模块

其中一些模块示例如下。

-- Assuming we have a module printFormatter
-- Also printFormatter has a funtion simpleFormat(arg)
-- Method 1
require "printFormatter"
printFormatter.simpleFormat("test")

-- Method 2
local formatter=require "printFormatter"
formatter.simpleFormat("test")

-- Method 3
require "printFormatter"
local formatterFunction=printFormatter.simpleFormat
formatterFunction("test")

让无涯教程考虑一个简单的示例,其中一个函数具有数学函数。将此模块称为mymath,文件名为mymath.lua。文件内容如下-

local mymath= {}

function mymath.add(a,b)
   print(a+b)
end

function mymath.sub(a,b)
   print(a-b)
end

function mymath.mul(a,b)
   print(a*b)
end

function mymath.div(a,b)
   print(a/b)
end

return mymath	

现在,为了在另一个文件(如moduletutorial.lua)中访问此Lua模块,您需要使用以下代码段。

mymathmodule=require("mymath")
mymathmodule.add(10,20)
mymathmodule.sub(30,20)
mymathmodule.mul(10,20)
mymathmodule.div(30,20)

为了运行此代码,需要将两个Lua文件放置在同一目录中,或者可以将模块文件放置在包路径中。当运行上面的程序时,将得到以下输出。

30
10
200
1.5

旧方法实现

现在以较旧的方式重写相同的示例,该示例使用package.seeall实现类型。这在Lua 5.1和5.0版本中使用过。 mymath模块如下所示。

module("mymath", package.seeall)

function mymath.add(a,b)
   print(a+b)
end

function mymath.sub(a,b)
   print(a-b)
end

function mymath.mul(a,b)
   print(a*b)
end

function mymath.div(a,b)
   print(a/b)
end

下面显示了moduletutorial.lua中模块的用法。

require("mymath")
mymath.add(10,20)
mymath.sub(30,20)
mymath.mul(10,20)
mymath.div(30,20)

运行上面的命令时,将获得相同的输出。许多使用Lua进行编程的SDK(如Corona SDK)已弃用此方法。

Lua - Modules(模块) - 无涯教程网无涯教程网提供模块就像可以使用 require 加载的库,并且具有包含Table 的单个全局名称,该模块可以...https://www.learnfk.com/lua/lua-modules.html文章来源地址https://www.toymoban.com/news/detail-626680.html

到了这里,关于无涯教程-Lua - Modules(模块)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无涯教程-Lua - 函数声明

    函数是一起执行任务的一组语句,您可以将代码分成单独的函数。 Lua语言提供了程序可以调用的许多内置方法。如方法 print() 打印在控制台中作为输入传递的参数。 Lua编程语言中方法定义的一般形式如下- Lua编程语言中的方法定义由方法标头和方法主体组成。这是方法的所有

    2024年02月14日
    浏览(42)
  • 无涯教程-Lua - Arrays(数组)

    数组是对象的有序排列,可以是包含行集合的一维数组,也可以是包含多行和多列的多维数组。 在Lua中,数组是使用带有整数的索引表实现的。数组的大小不是固定的,并且可以根据无涯教程的要求(取决于内存限制)来增长。 一维数组可以使用简单的表结构表示,并且可以使

    2024年02月14日
    浏览(37)
  • 无涯教程-Lua - while语句函数

    只要给定条件为真,Lua编程语言中的 while 循环语句就会重复执行目标语句。 Lua编程语言中 while 循环的语法如下- 在这里,需要注意的关键是 while 循环可能根本不执行。当测试条件并且输出为false时,将跳过循环主体,并执行 while 循环之后的第一条语句。 构建并执行上述代码

    2024年02月14日
    浏览(43)
  • 无涯教程-Lua - nested语句函数

    Lua编程语言允许在另一个循环中使用一个循环。以下部分显示了一些示例来说明这一概念。 Lua中嵌套for循环语句的语法如下- Lua编程语言中的嵌套while循环语句的语法如下- Lua编程语言中的嵌套重复...直到循环语句的语法如下- 关于循环嵌套的最后一点是,您可以将任何类型的

    2024年02月14日
    浏览(38)
  • 无涯教程-Lua - for语句函数

    for 循环是一种重复控制结构,可让您有效地编写需要执行特定次数的循环。 Lua编程语言中 for 循环的语法如下- 这是 for 循环中的控制流程- 首先执行 init 步骤,并且仅执行一次。此步骤使您可以声明和初始化任何循环控制变量。 接下来是max/min。这是循环继续执行之前的最大

    2024年02月14日
    浏览(40)
  • 无涯教程-Lua - Iterators(迭代器)

    迭代器是一种构造,使您可以遍历所谓的集合或集合的元素。在Lua中,这些集合通常引用表,这些表用于创建各种数据结构(如数组)。 通用的 for 迭代器提供集合中每个元素的键值对。下面给出一个简单的示例。 当无涯教程运行上面的代码时,将获得以下输出- 上面的示例使

    2024年02月14日
    浏览(39)
  • 无涯教程-Lua - 文件I/O

    I/O库用于在Lua中读取和处理文件。 Lua中有两种文件操作,即隐式( Implicit )和显式( Explicit )操作。 对于以下示例,无涯教程将使用例文件test.lua,如下所示。 一个简单的文件打开操作使用以下语句。 下表列出了各种文件模式。 Sr.No. Mode Remark 1 \\\" r\\\" 只读模式,是打开现有文件的

    2024年02月14日
    浏览(33)
  • 无涯教程-Lua - 嵌套if语句函数

    在Lua编程中,您可以在另一个 if or else if 语句中使用一个 if or else if 语句。 嵌套if 语句的语法如下- 您可以像嵌套 if 语句一样,嵌套 else if ... else 。 当您构建并运行以上代码时,它将产生以下输出。 Lua 中的 嵌套if语句函数 - 无涯教程网 无涯教程网提供在Lua编程中,您可以

    2024年02月14日
    浏览(43)
  • Lua,不使用模块,解压文件

    本来lua遍历文件夹下压缩包内容、路径可以通过加载模块: require(“lfs”) 和 require(“zip”) 来解决。 但是本人通过c++调用lua时,只要lua脚本中使用require加载模块,就会出错。 因此为了能够让c++通过lua,解压当前路径下压缩包,并读取其中文件内容。并没有使用加载模块的方

    2024年02月12日
    浏览(27)
  • 【Lua】Lua包管理器-LuaRocks的使用教程

    lua的包管理工具是: LuaRocks 。本文内容基于 MacOS 系统。 参考官方文档:Using LuaRocks 可用的模块在luarocks官网搜索即可。例如现在我们安装一个 luasocket 模块。 注意 :不知道是 luarocks 故意为之,还是因为有 bug 。在 luarocks 的安装目录(以及任意子目录)执行 luarocks 命令,和在其

    2024年02月14日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包