2010-05-19 13 views
7

Próbuję użyć metody nazewnictwa pakietu lua po nazwie pliku o nazwie here, jednak _REQUIREDNAME nigdy nie jest zdefiniowany. Na przykład mam te dwa pliki_REQUIREDNAME zawsze zero

samplePackage.lua:

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

packageTest.lua:

require "samplePackage" 

A kiedy biegnę packageTest.lua wyprowadza > _REQUIREDNAME: nil

ja też mogłam nie znalazłeś żadnej wzmianki o _REQUIREDNAME w podręczniku Lua 5.1 Refrence, więc czy to zostało usunięte z języka, czy też coś mi brakuje?

Odpowiedz

11

Sposób, w jaki pakiety i moduły działają, przeszedł kilka istotnych zmian w Lua 5.1, sprawiając, że pierwsza edycja Programowania w Lua była w większości przestarzała w odniesieniu do tego tematu.

W wersji 5.1 nazwa modułu jest przekazywana do modułu jako argument przez require. Można uzyskać do niego dostęp z ...:

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

second edition Programowania w Lua Lua obejmuje 5.1. Nie jest za darmo, ale rozdział o pakietach i modułach to available as a sample (PDF).