在Linux下,使用Lua 5.1,我有一個位於隱藏目錄下的lua腳本:~/.texmf/lua/print_table.lua
。 (它的LuaTEX等程序相關的,這就是爲什麼它在TEXMF目錄)。我跑lua
交互從我的主目錄,試圖require
該文件,得到了以下錯誤消息:可以Lua的`require`處理包含隱藏目錄/句號的路徑嗎?
> require('.texmf/lua/print_table')
stdin:1: module '..texmf/lua/print_table' not found:
no field package.preload['.texmf/lua/print_table']
no file './/texmf/lua/print_table.lua'
... [file not found in other - irrelevant - trees, either, of course]
> require('/home/me/.texmf/lua/print_table')
stdin:1: module '/home/me/.texmf/lua/print_table' not found:
no field package.preload['/home/me/.texmf/lua/print_table']
no file './/home/me//texmf/lua/print_table.lua'
...
因此,很明顯require
轉週期成斜線。逃避這段時間並沒有奏效:我試着將時間翻倍,在它前面貼一個反斜槓,並在它前面貼上兩個反斜槓。是否有任何方法require
文件的路徑中有一個隱藏的目錄(或任何其他句點)?
http://stackoverflow.com/questions/11868847/lua-require-function-on-a-full-path-name – lhf 2012-08-10 12:44:25
啊,我搜索了「隱藏目錄」而不是「完整路徑」。所以'loadfile'接受一個路徑,'require'只接受一個以點或斜線分隔的模塊名,並以一種有點通俗的方式對待它。現在都清楚了。謝謝,Bartek和lhf。 – Esteis 2012-08-10 13:06:36