微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么LUA_PATH在Windows上包含重音!?

我有一个文件main.lua :

require("hello")

和目录foo bar! baz的文件hello.lua foo bar! baz foo bar! baz (with ! )在里面:

module(...,package.seeall) print("hello from hello.lua")

当我(在Windows上)设置环境variablesLUA_PATH到目录:

set LUA_PATH="C:ProgrammeLua5.1foo bar! baz?.lua"

我得到一个奇怪的错误

如何避免在lua中使用os.execute时popup一个窗口

有没有办法使用grep(或任何其他工具)过滤文本文件,以便您可以获取包裹在护腕或括号中的文件的一部分?

将parameter passing给我的lua dll函数

如何在ubuntu上更新lua软件包?

在Windows中build立Luabind

C:ProgrammeLua5.1>lua main.lua lua: main.lua:4: module 'hello' not found: no field package.preload['hello'] no file '"C:ProgrammeLua5.1foo barC:ProgrammeLua5.1 bazhello.lua "' no file '.hello.dll' no file '.hello51.dll' no file 'C:ProgrammeLua5.1hello.dll' no file 'C:ProgrammeLua5.1hello51.dll' no file 'C:ProgrammeLua5.1clibshello.dll' no file 'C:ProgrammeLua5.1clibshello51.dll' no file 'C:ProgrammeLua5.1loadall.dll' no file 'C:ProgrammeLua5.1clibsloadall.dll' stack traceback: [C]: in function 'require' main.lua:4: in main chunk [C]: ?

看到非常奇怪的pathC:ProgrammeLua5.1foo barC:ProgrammeLua5.1 bazhello.lua ? 感叹号(砰)的特别之处是什么? 如何在Windows中得到这个权利? 在Mac上这似乎工作正常。

如何在lua中保存剪贴板(Windows)

加载dll扩展时,Lua会激化

哪种脚本语言更适合在multithreadingC / C ++应用程序中embedded

重新打开closures的文件:Lua

Lua – io.open()只能达到2 GB?

“这个替换只发生在Lua第一次设置路径(或者从LUA_PATH或者从LUA_PATH认的路径),如果用其他方法设置路径,就可以避免这个问题。

更多信息和潜在的选择: http : //lua-users.org/lists/lua-l/2012-08/msg00052.html

解释是正确的(它在Windows上有记录的行为),但是我也可以提供一个可能的解决方案(或者说一个解决方法):因为只有第一个感叹号将被替换,而不是使用set LUA_PATH="C:ProgrammeLua5.1foo bar! baz?.lua" ,使用方法

set LUA_PATH="!foo bar! baz?.lua"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐