2011-04-06 48 views
1

添加路徑變量有人能列出我需要採取把一個LUA文件(theclass.lua)的地方我的系統上,這樣我可以做到這一點的步驟:的Lua - 如何在OSX

require 'theclass' 

和編譯器會發現它,而不必將該類複製到每個目錄?

回答

3

的位置列表,你可以把它的一部分,如果你收到錯誤消息:

~ e$ lua 
Lua 5.1.4 Copyright (C) 1994-2008 Lua.org, PUC-Rio 
> require 'theclass' 
stdin:1: module 'theclass' not found: 
no field package.preload['theclass'] 
no file './theclass.lua' 
no file '/usr/local/share/lua/5.1/theclass.lua' 
no file '/usr/local/share/lua/5.1/theclass/init.lua' 
no file '/usr/local/lib/lua/5.1/theclass.lua' 
no file '/usr/local/lib/lua/5.1/theclass/init.lua' 
no file './theclass.so' 
no file '/usr/local/lib/lua/5.1/theclass.so' 
no file '/usr/local/lib/lua/5.1/loadall.so' 
stack traceback: 
[C]: in function 'require' 
stdin:1: in main chunk 
[C]: ? 
> 

的Lua諮詢的目錄列表至少在三個位置搜索:

的C LUA_PATH在配置標題

的Lua的全球LUA_PATH

環境變量LUA_PATH

PiL

+1

其實,Lua使用'package.path',其默認值來自環境變量'LUA_PATH'如果它被設置。 Lua從不查看全局變量'LUA_PATH'。 – lhf 2011-04-07 00:45:50

+0

哦。 http://www.lua.org/pil/8.1.html中的PiL 1必須過時:「要確定其路徑,首先需要檢查全局變量LUA_PATH。」我看到這是在我的PiL 2紙副本的第15.1節中解決的。謝謝,Luiz! – 2011-04-07 17:21:16

+0

PiL的在線版本適用於Lua 5.0,它使用了全局變量'LUA_PATH'。比較http://www.lua.org/source/5.0/src_lib_lbaselib.c.html#getpath與http://www.lua.org/source/5.1/loadlib.c.html#setpath。 – lhf 2011-04-07 17:29:11