首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

获取Lua中的当前文件名

在Lua中,可以通过debug库中的getinfo函数来获取当前文件名。getinfo函数可以返回一个包含当前函数或者调用栈信息的table。通过设置参数"n"为"file",可以获取到当前文件名。

以下是一个示例代码:

代码语言:lua
复制
function getCurrentFileName()
    local info = debug.getinfo(2, "S")
    return info.source:sub(2)
end

local fileName = getCurrentFileName()
print("当前文件名:" .. fileName)

输出结果将会是当前Lua文件的文件名。

对于Lua的应用场景,Lua常被用作嵌入式脚本语言,特别适用于游戏开发、应用程序扩展和配置文件等领域。Lua具有简洁的语法和高效的执行速度,易于学习和使用。

腾讯云提供了云服务器CVM产品,可以用于部署和运行Lua脚本。您可以通过以下链接了解更多关于腾讯云云服务器CVM的信息:

腾讯云云服务器CVM产品介绍

希望以上信息对您有所帮助!

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 如何在回调函数中获取 WordPress 接口的当前优先级

    下面开始教程: 如何获取 Hook 优先级 我们在 WordPress 进行开发的时候,肯定会使用到 WordPress 的 Hook,通过 add_filter 或者 add_action 把某个回调函数传递给某个...在回调函数中,我们可以通过 current_filter 函数可以获取当前回调函数是在执行那个 Hook 中,但是如果要获取当前回调函数优先级,WordPress 就没有相关的函数了,所以我自己写了一个...$hook->current_priority() : null; } 获取 Hook 优先级有什么用 我们可能要移除接口的某个回调函数,然后最后又要加回来,怎么处理呢?...如果和我一样为了偷懒,这前后的移除和添加的回调函数是同一个,那就要在回调函数中判断当前的优先级了: function wpjam_filter_content_save_pre($content){...该功能已经整合到 WPJAM Basic 插件中,并已免费提供下载,简单勾选或者设置下即可开启!

    53030

    如何在 Go 函数中获取调用者的函数名、文件名、行号...

    背景 我们在应用程序的代码中添加业务日志的时候,不论是什么级别的日志,除了我们主动传给 Logger 让它记录的信息外,这行日志是由哪个函数打印的、所在的位置也是非常重要的信息,不然排查问题的时候很有可能就犹如大海捞针...//获取的是 CallerA函数的调用者的调用栈 pc1, file1, lineNo1, ok1 := runtime.Caller(1) } 函数的返回值为调用栈标识符、带路径的完整文件名...、该调用在文件中的行号。...获取调用者的函数名 runtime.Caller 返回值中第一个返回值是一个调用栈标识,通过它我们能拿到调用栈的函数信息 *runtime.Func,再进一步获取到调用者的函数名字,这里面会用到的函数和方法如下...总结 今天介绍了通过 runtime.Caller 回溯调用栈获取调用者的信息的方法,虽然强大,不过频繁获取这个信息也是会对程序性能有影响。

    6.7K20

    【100个 Unity实用技能】 | Lua中获取当前时间戳,时间戳和时间格式相互转换、时间戳转换为多久之前

    中获取当前时间戳,时间戳转换为时间格式、时间戳转换为多久之前 在Lua中我们有时候时间相关的内容,如获取当前的时间戳,将时间戳转换为时间格式,将时间戳转换为多久之前等。...主要使用了Lua 中的 os.time 函数和 os.tade 函数。 Lua 标准库中提供了关于时间的函数os.time()和os.date(),这两个函数使用起来还是有需要注意的地方的。...1.Lua中获取当前时间戳方法: local t = os.time() 直接在Lua中执行此方法,可以获取到一个当前时间戳(也就是从1970年到当前时间为止的秒数) 2.将时间戳转换为时间格式方法:...str =os.date("%Y-%m-%d %H:%M:%S",t) return str end 3.将时间格式转换为时间戳方法: local t = os.time( { --获取指定时间的时间戳...--时间转换成多久前,传入时间戳t function UIUtil.getTimeLongAgo(t) local str = "" if t ~= nil then if

    1.8K40

    Lua 语法基础 | Nmap 脚本

    解释器在处理参数前,会查找两个环境变量,一个是 LUA_INIT_5_3 ;另一个是LUA_INIT 。...局部变量和代码块 7.1 局部变量和代码块 Lua 语言的变量默认情况下是全局变量 ,所有的全局变量在使用前必须声明 局部变量生小范围仅限于声明他的代码块 使用 local 来建立局部变量 7.2 控制结构...= nil 13.1.1 模块重命名 如果我们需要导入不同版本的一个模块,那么我们可以采用重命名的方式 如果是 Lua 的模块,那么直接修改模块的文件名就可以了。...13.1.2 搜索路径 Lua 查找模块是使用一个叫模板的东西,其实就是一段带有可选问号的文件名 ----------------------- > package.path /usr/local/share...这个表可能具有以下字段 : source : 说明函数定义的位置,如果定义在字符串中(调用load),那么字段的值为这个字符串,如果被定义在文件中,那么就是这个函数所在的文件名 short_src :

    2.1K50

    7 月最新编程排行榜:万年不变的前三,啥时候能是头?

    点击上方蓝色字体,选择“设为星标” 回复”学习资料“获取学习宝典 近日,TIOBE 公布了最新的编程指数信息。前三的编程语言依是 Python、 C 和 Java。...在主页君记忆中前三基本是这 3 个人在变来变去的当第一。 上个月,TIOBE 指数没有什么变化。排名前 4 的语言 Python、C、Java 和 C++ 现在总共占据了将近 50% 的市场份额。...Fortran 和 Matlab 再次挤掉 Lua 和 Prolog 进入前 20 名。今年已经过去了一半,TIOBE 2022 年的年度编程语言“候选人”是 Python、C、C++ 和 C#。...此外,TIOBE 的 CEO 认为诸如 Rust、Dart、Kotlin 或者 TypeScript 这些相对较新的热门语言会进入前 20 名。...2022 年 7 月编程语言榜前 20 名 TOP 10 编程语言 TIOBE 指数走势 说明 TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新。

    34120

    vim 从嫌弃到依赖(12)——打开及保存文件

    开始前的准备 先来介绍一下vim的工作目录的概念。我们知道进程都有自己的工作目录,后续需要操作某个目录的时候,可以根据这个工作目录使用相对路径。...find命令 即使:edit 命令有% 这种操作来简便输入,但是在打开其他目录中的文件时仍然需要输入完整的目录和文件名,这个操作也是挺繁琐的。...操作系统中,有一个PATH 环境变量,输入命令的时候,他会在PATH 所指定的目录中查找对应命令。vim中也有类似的概念。 vim中可以使用:find,根据输入的文件名打开文件。...你可能会问,如果项目中有相同的文件名呢,这个项目里面没有同名文件,这里我们在lua/basic 目录中新建一个init.lua 这样它就与根目录下的init.lua 相同了。...还记得之前讲过怎么在vim中执行shell命令吗,不想退出vim,又想在保存前创建目录,可以使用这招, :!mkdir -p random/111, 然后再执行写入。

    1.9K10

    一个可以让黑客头疼的系统

    虽然每个请求的真实处理还是在 golang 中完成,但是每个请求的一些临时变量都会在 lua 虚拟机走一遍。...-- 文件名juggler.test.com.lua 当攻击请求的业务域名是juggler.test.com时匹配该插件 local var = rock.var local resp = rock.resp...丰富三方插件库可自行定义 juggler 中的 lua 插件除了 lua 本身的一些变量,其他的都是由 golang 实现后注册进 lua 虚拟机供 lua 进行调用的。...) // golang中定义的可在lua中使用的生成随机数方法 var randFns = map[string]lua.LGFunction{ "rint" : rint, } func rint...2、http 请求:rock.var 包含了部分的当前请求的参数,具体参数见 golua/request.go,已经覆盖了常见的参数了 case "host": L.Push(lua.LString

    87530

    OpenResty的安装与使用

    OpenResty由四个核心组件构成,如下表所示: 组件名称 说明 Nginx Web服务器 LuaJIT Lua语言解释器 ngx_lua 处理HTTP协议,让Lua嵌入在Nginx中运行 stream_lua...也是让Lua在Nginx中运行,负责处理TCP/UDP协议 源码编译安装 使用的服务器信息: 系统 Ubuntu22.04 服务器 IP 172.16.183.131 安装OpenResty: 安装编译所需的软件包...1.21.4.1.tar.gz 编译OpenResty # 解压下载的源码包 tar -xf openresty-1.21.4.1.tar.gz # 进入目录 cd openresty-1.21.4.1/ # 编译前配置...luajit lualib nginx pod resty.index site root@ubuntu:~/openresty-1.21.4.1# # 为了方便使用,将目录添加到环境变量中...OpenResty开发 使用OpenResty开发简单的Web服务 nginx配置文件如下: # 文件名为hello.conf worker_processes 1; events { worker_connections

    64220

    Nginx高级应用:lua + OpenResty

    ,先从nginx本地缓存中获取,获取到直接响应 如果没有获取到,再次访问redis,我们可以从redis中获取数据,如果有 则返回,并缓存到nginx中 如果没有获取到,再次访问mysql 我们从mysql...中获取数据,再将数据存储到redis中。...; 创建文件,输入 print("hello"); 直接 cmd 运行: 执行命令:lua53 文件名.lua LUA的基本语法(了解) 介绍: lua有交互式编程和脚本式编程: 交互式编程就是...创建一个文件叫module.lua 别忘了中文乱码,文件格式设置ASCII码 module.lua -- 文件名为 module.lua -- 定义一个名为 module 的模块,和文件名一样!...require(“resty.http”) 就是这个lua模块负载发送请求, OpenResty 中存在着很多的,lua脚本模块… 获取POST请求参数 跟get 非常类似… ngx.req.read_body

    29210

    涨薪5K必学高并发核心编程,限流原理与实战,分布式计数器限流

    access_auth_nginx.lua在拼接计数器的key时使用了Nginx的内置变量$remote_addr获取客户端的IP地址,最终在Redis存储访问计数的key的格式如下: count_rate_limit...在浏览器中输入如下测试地址: http://nginx.server/access/demo/nginx/lua?seckillGoodId=1 10秒内连续刷新,第6次的输出如图9-5所示。...实战:Redis Lua分布式计数器限流 大家知道,Redis允许将Lua脚本加载到Redis服务器中执行,可以调用大部分Redis命令,并且Redis保证了脚本的原子性。...在调用该脚本之前,首先要将其加载到Redis,并且获取其加载之后的sha1编码,以供Nginx上的限流脚本access_auth_evalsha.lua使用。...在浏览器中访问以下地址: http://nginx.server/access/demo/evalsha/lua 10秒之内连续刷新,发现第10次之后请求被限流了,说明Redis内部的Lua限流脚本工作是正常的

    31420
    领券