[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: 5.2 and 5.1
- From: Hisham <h@...>
- Date: Mon, 15 Apr 2013 15:12:47 -0300
On 15 April 2013 06:48, Philipp Janda <siffiejoe@gmx.net> wrote:
> Am 11.04.2013 21:58 schröbte Petite Abeille:
>
>>
>> On Apr 11, 2013, at 9:39 PM, Philipp Janda <siffiejoe@gmx.net> wrote:
>>
>>> which sets _ENV directly
>>
>>
>> Out of curiosity, what issue would that entail from your perspective?
>
> It limits you to Lua 5.2.
Does it?
-- PA_module.lua ----------
function module( aName, ... )
local aModule = package.loaded[ assert( aName ) ]
if type( aModule ) ~= 'table' then
aModule = {}
aModule._M = aModule
aModule._NAME = aName
aModule._PACKAGE = aName:sub( 1, aName:len() - (
aName:reverse():find( '.', 1, true ) or 0 ) )
package.loaded[ aName ] = aModule
for anIndex = 1, select( '#', ... ) do
select( anIndex, ... )( aModule )
end
end
return aModule
end
--------------------
-- mymod.lua ----------
local print = print
local module = module
local _ENV = module("mymod")
function blo()
print("I'm Blo!")
end
local _ENV = module("argh")
function groo()
print("Grooooo")
end
--------------------
-- main.lua ----------
local mymod = require("mymod")
local argh = require("argh")
mymod.blo()
argh.uff()
assert(not pcall(argh.blo))
--------------------
]/Programs/Lua/5.2.0/bin/lua -lPA_module main.lua
I'm Blo!
Uff
]/Programs/Lua/5.1.5/bin/lua main.lua
I'm Blo!
Uff
-- Hisham
http://hisham.hm/
- References:
- Re: 5.2 and 5.1, Dirk Laurie
- Re: 5.2 and 5.1, steve donovan
- Re: 5.2 and 5.1, Dirk Laurie
- Re: 5.2 and 5.1, steve donovan
- Re: 5.2 and 5.1, Dirk Laurie
- Re: 5.2 and 5.1, Petite Abeille
- Re: 5.2 and 5.1, Pierre-Yves Gérardy
- Re: 5.2 and 5.1, Petite Abeille
- Re: 5.2 and 5.1, Pierre-Yves Gérardy
- Re: 5.2 and 5.1, steve donovan
- Re: 5.2 and 5.1, Roberto Ierusalimschy
- Re: 5.2 and 5.1, Petite Abeille
- Re: 5.2 and 5.1, Philipp Janda
- Re: 5.2 and 5.1, Petite Abeille
- Re: 5.2 and 5.1, Philipp Janda