首页 > 编程语言 >lua模块化编程

lua模块化编程

时间:2024-03-05 14:48:01浏览次数:26  
标签:-- 模块化 编程 sayHi lua local moduleB moduleA

moduleA.lua

-- moduleA.lua
local moduleA = {}

function moduleA.hello()
    print("Hello from moduleA")

    --与调用者同一个环境, 可以调用到原环境中的sayHi函数
    sayHi()
end

return moduleA

moduleB.lua

-- moduleB.lua
local moduleB = {}

function moduleB.world()
    print("World from moduleB")
end

return moduleB

main.lua

-- main.lua
local moduleA = require("moduleA")
local moduleB = require("moduleB")

function sayHi()
    print("hi")
end

moduleA.hello() -- 输出 "Hello from moduleA" "hi"
moduleB.world() -- 输出 "World from moduleB"
lua模块化编程:在模块中定义函数和变量, 将代码分解成多个文件,使用 require 函数加载模块。 php好像也是这样的,定义个config.php, 然后加载它, 执行模块  

标签:--,模块化,编程,sayHi,lua,local,moduleB,moduleA
From: https://www.cnblogs.com/barrysgy/p/18053992

相关文章

  • (续)signal-slot:python版本的多进程通信的信号与槽机制(编程模式)的库(library) —— 强化学
    前文:signal-slot:python版本的多进程通信的信号与槽机制(编程模式)的库(library)——强化学习ppo算法库sample-factory的多进程包装器,实现类似Qt的多进程编程模式(信号与槽机制)——python3.12版本下成功通过测试......
  • 自已写的shell小程序: 查询删除lua+redis和conf配置的nginx黑名单
    #!/bin/bash#定义一些变量REDIS_HOST=192.168.10.38REDIS_PORT=6370REDIS_AUTH=123456NGINX_BLOCKIPCONF_PATH=/data/software/openresty/nginx/conf.d/block_ip.conf#接收需要查询的IP地址echo-e"查询被www.baiinfo.com屏蔽的IP地址,请输入精确的IP地址(支......
  • 深入解析ASP.NET Core MVC应用的模块化设计[上篇]
    ASP.NETCoreMVC的“模块化”设计使我们可以构成应用的基本单元Controller定义在任意的模块(程序集)中,并在运行时动态加载和卸载。这种为“飞行中的飞机加油”的方案是如何实现的呢?该系列的两篇文章将关注于这个主题,本篇着重介绍“模块化”的总体设计,下篇我们将演示将介绍“分散定......
  • .Net Core(六) 面向切面编程
    简介面向切面编程(AOP,Aspect-OrientedProgramming)是一种编程范式,旨在增强现有的面向对象编程(OOP,Object-OrientedProgramming)范式。AOP通过在程序执行过程中动态地将横切关注点(cross-cuttingconcerns)从它们所影响的对象中分离出来,并将其模块化,以便重用和管理。在传统的面向对......
  • 防御性编程,真的可以防止被裁吗?
    部门缺人,前端后端测试岗,base深圳/西安/北京:投递通道疫情之后,大环境一直很低迷,互联网也未幸免,于是,很多公司相继“开猿节流”,可怜的程序猿惶恐不安...接着,戏剧性的一幕发生了,国内的互联网大厂相继出现“降本见笑”的名场面,首先暴雷的是阿里云,事故原因:底层服务组件故障...随后,滴......
  • 如何在 C# 中以编程的方式将 CSV 转为 Excel XLSX 文件
    前言MicrosoftExcel的XLSX格式以及基于文本的CSV(逗号分隔值)格式,是数据交换中常见的文件格式。应用程序通过实现对这些格式的读写支持,可以显著提升性能。在本文中,小编将为大家介绍如何在Java中以编程的方式将【比特币-美元】市场数据CSV文件转化为XLSX文件。具体操作步骤如下:......
  • 为什么学编程都从helloworld开始?
    你好世界......
  • Java编程的利器:Pair和Triple无缝解决多值返回问题,助力编写高效代码
    在实际编码中,经常会遇到一个方法需要返回多个值的情况,你编写一个方法,需要同时返回某个操作的结果和一些相关的附加信息。使用传统的方式,你可能需要创建一个包含这些信息的自定义类或者使用集合(如Map)来存储这些值。然而,这往往使得代码变得臃肿,而且对于调用方来说,理解和提取这些值......
  • xlua - 增加lua-cjson库
    xlua貌似不支持单独动态加载cjson.dll,试了各种方式,都是会造成Unity闪退,也不知道原因。解决办法就是直接编译进xlua.dll 1)下载lua-cjson源码,并解压到xlua的build文件夹根目录GitHub-openresty/lua-cjson:LuaCJSONisafastJSONencoding/parsingmoduleforLua 2......
  • lua5.1 - function env
    注意:只在lua5.1才支持,后面的lua版本做了改动不再兼容 myEnv.lualocalmyEnv={}myEnv.a=1myEnv.b="one"myEnv.log=printreturnmyEnv Test.lualocalmyEnv=require("myEnv")setfenv(1,myEnv)--调用上面的函数后,print将没法使用因为那是在全局env......