lua脚本怎么获取当前正在执行的脚本的当前路径

lua脚本怎么获取当前正在执行的脚本的当前路径,第1张

如果在Windows下(Linux行不行不知道)\x0d\obj=iopopen("cd") --如果不在交互模式下,前面可以添加local \x0d\path=obj:read("all"):sub(1,-2) --path存放当前路径\x0d\obj:close() --关掉句柄\x0d\上述原理是利用Windows的cd命令返回工作目录;至于sub(1,-2)是为了去掉换行符\x0d\当然如果你有lua socks或者你有lfs(注意匹配你的Lua版本),你可以使用lfs(Lua File System)\x0d\require("lfs")\x0d\path=lfscurrentdir()\x0d\这个则是Lua文件系统库中的函数。\x0d\就是这样

当 Lua 调用 C 函数的时候,使用和 C 调用 Lua 相同类型的栈来交互。C 函数从栈中获取她的参数,调用结束后将返回结果放到栈中。为了区分返回结果和栈中的其他的值,每个 C 函数还会返回结果的个数(the  function  returns  (in  C)  the  number  of  results  it  is leaving on the stack)。

// luacallcppcpp : 定义控制台应用程序的入口点。

//

#include "stdafxh"

#include <stdioh>

//lua头文件

#ifdef __cplusplus

extern "C" {

#include "luah"  

#include <lauxlibh>  

#include <lualibh>  

}  

#else

#include <luah>

#include <lualibh>

#include <lauxlibh>

#endif

int static add(lua_State L)

{

 //获取第一个参数

 double x=lua_tonumber(L,1);

 double y=lua_tonumber(L,2);

 //返回值压栈,压入两个返回值

 lua_pushnumber(L,x+y);

 lua_pushnumber(L,1000);

//返回值的个数,

 return 2;

}

int _tmain(int argc, _TCHAR argv[])

{

lua_State L=NULL;

/ 初始化 Lua /  

 L = lua_open();

/ 载入Lua基本库 /  

 luaL_openlibs(L);

/ 运行脚本 /  

 luaL_dofile(L, "/script/funclua");

//函数入栈

 lua_pushcfunction(L,add);

 //设置全局函数名

 lua_setglobal(L,"Add");

 //调用lua函数LUACALLCPP来反调cpp中的add

 lua_getglobal(L,"LUACALLCPP");

 lua_pushnumber(L,10);

 lua_pushnumber(L,3433);

 //两个参数,两个返回值

 lua_pcall(L,2,2,0);

 //取返回值二

 printf("lua call cpp return val is %f \n",lua_tonumber(L,-1));

 //取返回值一

 printf("lua call cpp return val is %f \n",lua_tonumber(L,-2));

 / 清除Lua /  

 lua_close(L);

return 0;

}

---------------------------------------

--region lua

--Date

--此文件由[BabeLua]插件自动生成

print("funclua hava been loaded")

function LUACALLCPP(x,y)

-- 调用c++中的函数

return Add(x,y)

--print(Add(x,y))

end

--endregion

运行结果:

以上就是关于lua脚本怎么获取当前正在执行的脚本的当前路径全部的内容,包括:lua脚本怎么获取当前正在执行的脚本的当前路径、LUA怎么获取指定的函数返回值、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9415483.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存