我有一个文件main.lua
:
require("hello")
以及hello.lua
目录中的文件foo bar! baz
(带有!
):
module(...,package.seeall)
print("hello from hello.lua")
当我(在 Windows 上)将环境变量LUA_PATH
设置为目录时:
set LUA_PATH="C:\Programme\Lua\5.1\foo bar! baz\?.lua"
我收到一个奇怪的错误:
C:\Programme\Lua\5.1>lua main.lua
lua: main.lua:4: module 'hello' not found:
no field package.preload['hello']
no file '"C:\Programme\Lua\5.1\foo barC:\Programme\Lua\5.1 baz\hello.lua
"'
no file '.\hello.dll'
no file '.\hello51.dll'
no file 'C:\Programme\Lua\5.1\hello.dll'
no file 'C:\Programme\Lua\5.1\hello51.dll'
no file 'C:\Programme\Lua\5.1\clibs\hello.dll'
no file 'C:\Programme\Lua\5.1\clibs\hello51.dll'
no file 'C:\Programme\Lua\5.1\loadall.dll'
no file 'C:\Programme\Lua\5.1\clibs\loadall.dll'
stack traceback:
[C]: in function 'require'
main.lua:4: in main chunk
[C]: ?
看到非常奇怪的路径了C:\Programme\Lua\5.1\foo barC:\Programme\Lua\5.1 baz\hello.lua
吗?感叹号(bang)有什么特别之处?如何在 Windows 中做到这一点?在 Mac 上,这似乎工作正常。