lua-users home
lua-l archive

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


On Thu, Jan 6, 2011 at 00:41, beo wulf <beowulf@intamp.com> wrote:
> On behalf of all of us jealous/envious ones out there -- how early did
> you start using gmail to have the username "HyperHacker" ?
>
> On Wed, Jan 5, 2011 at 2:03 PM, HyperHacker <hyperhacker@gmail.com> wrote:
>> On Wed, Jan 5, 2011 at 14:46, Tim Mensch <tim-lua-l@bitgems.com> wrote:
>>> On 1/5/2011 8:49 AM, Jose Luis Hidalgo wrote:
>>>>    I've been trying to see how to deal with registering accessors, and
>>>> the problem I see is how you would use the accessors from lua. For
>>>> example, if you register an accessor (a def_readwrite to a variable
>>>> foo of a class bar) in lua:
>>>>
>>>> b = bar()
>>>> b:foo = 5
>>>> print(b:foo)
>>>
>>> That's not legal Lua, AFAIK. b:foo expects function arguments.
>>>
>>> Ideally it would actually work like this:
>>>
>>> b=bar();
>>> b.foo = 5;
>>> print(b.foo);
>>>
>>> That's how it works in, e.g., tolua++ and LuaBind. In fact you can not
>>> only register accessors to public data, you can register an accessor
>>> that calls existing accessors on a C++ class, so the code above could be
>>> calling the C++ member functions bar::setFoo() and bar::getFoo().
>>>
>>> And you can still add new members to extend b:
>>>
>>> b.somenewmember = 5
>>>
>>> I had to dig through tolua++ to fix how that worked WRT
>>> shared_ptr-wrapped objects, so I happen to know how it's done in at
>>> least tolua++; if you're curious I can explain, but there are several
>>> options in Lua.
>>>
>>> SLB not having these features was a deal killer for me, so beo wulf
>>> isn't the only person who considers them important. :)
>>>
>>> Tim
>>>
>>>
>>
>> Apparently WoW lets you do things like:
>> f = foo:bar
>> f()
>> I'm not sure how this works, as it's not allowed in standard Lua...
>>
>> --
>> Sent from my toaster.
>>
>>
>
>

Quite some years ago now... funny thing is I hardly use it anywhere
else anymore. (But maybe further discussion of this topic should be
done off-list?)

-- 
Sent from my toaster.