2010-05-19 72 views
7

我試圖在文件名提到here之後使用該方法命名lua包,但是從未定義_REQUIREDNAME。例如,我有這兩個文件_REQUIREDNAME always nil

samplePackage.lua:

print("_REQUIREDNAME: ", _REQUIREDNAME) 
return nil; 

packageTest.lua:

require "samplePackage" 

當我運行packageTest.lua它輸出> _REQUIREDNAME: nil

我也couldn在Lua 5.1 Refrence手冊中找不到任何_REQUIREDNAME,那麼這是從語言中刪除,還是我錯過了什麼?

回答

11

包和模塊工作的方式在Lua 5.1中發生了一些重大變化,這使得第一版Lua中的編程大多已經過時了。

在5.1中,模塊名稱作爲參數傳遞給模塊require。你可以用...訪問:

print("Module name: ", ...) 

編程的Lua中second edition涵蓋的Lua 5.1。它不是免費的,但有關封裝和模塊的章節是available as a sample (PDF)