lua-users home
lua-l archive

Re: local "module" pattern without module [was Re: [ANN] SLAXML - pure Lua, robust-ish, SAX-like streaming XML processor]

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


	Hi Gavin
On 2013年2月18日, Gavin Kistner wrote:
Here's what I ended up going with, as it only requires a change to the master file. I'd be interested in comments on why this might be a bad idea.
    ### master.lua
    local m = {}
    local env = getfenv(0)
    setfenv(0,setmetatable({MASTER=m},{__index=env}))
    require 'simple'
    require 'multi'
    require 'shared1'
    require 'shared2'
    require 'reference'
    
    setfenv(0,env)
    return m
All other files are unchanged, except the usage itself which gets a `local MASTER = require 'master'` 
Written up at:
http://stackoverflow.com/q/14942472/405017
	Maybe I've missed something, but why don't you just:
return {
	simple = require"simple",
	multi = require 'multi',
	shared1 = require 'shared1',
	shared2 = require 'shared2',
	reference = require 'reference',
}
	Of course you'll end up with a hierarchical structure, which
couldn't be what you want. But I am sure it is worth it!
	Regards,
		Tomás

AltStyle によって変換されたページ (->オリジナル) /