[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Making LUA safe to execute untrusted scripts [replay]
- From: steve@...
- Date: Wed, 19 Apr 2000 14:00:06 -0700
"Nick Trout" <nick@videosystem.co.uk> wrote:
> ...Python was created with the intention of being a pragmatic
> scripting language. eg. its more OO
As a base system, I'd agree because Python comes with classes, but Lua
allows you to more easily build a more OO system(a prototype-based instead
of class-based OO language) on top of it than you could in Python.
>(list and dictionaries accept methods)
Could you explain this a bit more?
> and its syntax is less "bodged" eg. "for" keyword instead of a function in
Lua.
I solved this problem for myself by writing a Collection(List) object that
has
enumeration features.
> I know a lot of the functionality is
> duplicated and Lua itself admits to being a meta language which for me
makes it
> slightly more complicated ie. less readable/simple!
I agree.
local i, v = next(table, nil)
while ( i )
...
i, v = next(table, i)
end
isn't as nice as Python's:
for v in table:
...
or lua style:
for i, v in table:
...
> I agree with this. Can you do inheritance with Lua? Copy an inherited
> class/table into the inherited class table?
Yes. In fact, that's all that Python does. Python classes are basicaly just
dictionaries with a few extra convenience methods. In Lua, you can also
implement
inheritance through delegation if you choose. I think this is covered in the
Lua FAQ.
I've implemented a prototype-based object system in Lua that uses delegation
for inheritance. I could also put together a Python-like class system. If
you
think you'd find these usefull, I could put them in a package and make them
available.
Steve