[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Lua Digest, Vol 174, Issue 1
- From: Jerome Vuarand <jerome.vuarand@...>
- Date: Mon, 28 Sep 2009 17:52:47 +0200
2009/9/28 Roberto Ierusalimschy <roberto@inf.puc-rio.br>:
>> You can already associate any kind of information to a function by
>> using it as a weak key in a Lua table. However you need access to the
>> debug library to access built-in informations, or simply to allow a
>> function to get a reference to itself to use as a key in the weak
>> tables I mentioned.
>
> You do not need any reference; the function itself can be the key.
I meant something like that:
local ptypes = {}
function foo(a)
assert(type(a)==ptypes[debug.getinfo(1, 'f').func][1], "invalid
parameter type")
return a + 42
end
ptypes[foo] = {'number'}
Is there any other way to use the currently executing function as a key ?