lua-users home
lua-l archive

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


On Tue, Jun 23, 2015 at 2:11 PM, Soni L. <fakedme@gmail.com> wrote:
>
>
> On 23/06/15 03:09 PM, Sean Conner wrote:
>>
>> It was thus said that the Great Luiz Henrique de Figueiredo once stated:
>>>>>
>>>>> co = coroutine.create(function() print"test" end)
>>>>> ...
>>>>> Can we get a thread metatable?
>>>>
>>>> debug.setmetatable(co,{__len=function(thread) return "abc" end})
>>>> print(#co) --> abc
>>>
>>> I think the OP wants
>>>         debug.setmetatable(co,{__index=coroutine})
>>> so that he can say co:resume().
>>
>>    Or
>>
>>         debug.setmetatable(
>>                 co,
>>                 {
>>                   __call = function(co,...)
>>                     return coroutine.resume(co,...)
>>                   end
>>                 }
>>         )
>>
>> so that we can say
>>
>>         co()
>>
>>    -spc
>>
>>
> And how do you get the status with that?
>
> Not co:status(), that wouldn't work...
>
>
> --
> Disclaimer: these emails are public and can be accessed from <TODO: get a
> non-DHCP IP and put it here>. If you do not agree with this, DO NOT REPLY.
>
>

By using both __call and __index.

-- 
Sent from my Game Boy.