 

0
3
0
UID: 158909
权限: 10
属性: 不明 发帖: 6
(0精)
积分: 22
章鱼: 0
大葱: 2
茄子: 194
注册:2017/9/24
存在感:36
|
本帖最后由 Ehobits 于 2017/12/16 10:30 编辑
最近想写一个lua插件,其中一个基础功能是获取lua所在的路径,并在其中建立一个TXT或ini文件。但由于局限于VOCALOID糟糕的lua脚本特性我试了一打获取自身路径的办法都不成功,只会返回空值
当前部分代码如下:
- local str = "abab.txt"
- -- 获取路径
- function stripFileName(str)
- return string.match(str, "(.+)\\[^\\]*%.%w+$")
- end
- -- 获取文件名
- function getFileName(str)
- return string.match(str, ".+\\([^\\]*%.%w+)$")
- end
- -- 环境参数在运行时传递。
- scriptDir = stripFileName(str) -- Lua脚本所在的目录路径(包括末尾的分隔符“\”)。
- scriptName = getFileName(str) -- Lua脚本的文件名。
- function main(processParam, envParam)
- -- 局部变量声明。
- local retCode -- 函数的返回值。
- -- 检查API版本。
- if (envParam.apiVersion == nil) or (envParam.apiVersion == "") then
- -- 当API版本无法获取时。
- -- 显示错误消息并退出。
- VSMessageBox("该插件需要版本4.2.0或更高版本的VOCALOID 4。", 0)
- return STATUS_NORMAL
- end
-
- VSMessageBox(scriptDir .. scriptName,0) --这里出错 提示“scriptDir” “scriptName”是空值
- return retCode
- end
复制代码
希望有懂lua的大佬帮我看一下,这个要这么解决,怎样才能取到自身路径和文件名。在下感激不尽
|
|