lua-users home
lua-l archive

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

Hi Steve Donovan, Glad to receive reply from you.
And Hi Thijs Schreijer, Thank you for the reply.

I have a question about LOOP. Is LOOP related with IUP?
I wonder if they are closely related.

I want to learn about IUP soon. And if IUP is based on LOOP, I'd better learn LOOP I think...


Journeyer J. Joh
o o s a p r o g r a m m e r
a t
g m a i l  d o t  c o m

2014-02-23 17:44 GMT+09:00 steve donovan <>:
On Sun, Feb 23, 2014 at 10:11 AM, Thijs Schreijer
<> wrote:
> Lua provides the means to do OO, but that also means that you can do it in many different ways. (have a look at LOOP, which implements a bunch of them)

Which is exactly why I don't think LOOP is good for beginner; it's
best to understand one scheme well and use it consistently.  Otherwise
it is premature optimization.

My (biased) opinion - has reference to Lua wiki article:

> Understand the table as being the core of an object
> Understand __index metamethod

With this I totally agree. - that's the essence.  It can be confusing,
because we often set the 'class' table __index to point at the class
table itself.  This is convenient, but not necessary;  important thing
to understand is that putting methods into a table's metatable does
not automatically make them available.

> Understand difference between 'fat' inheritance (copying all members of a class into a new table), versus 'dynamic' using the __index metamethod (a change to an ancestor might change all descendants)

Not crucial to using OOP in Lua; it's an implementation strategy. I
like 'fat' inheritance because there are no long chains of lookup for
deep class hierarchies, and it's all self-contained.

steve d.