[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Son of Lua - Sol
- From: edrx@... (Eduardo Ochs)
- Date: Fri, 2 Feb 2001 15:21:49 -0200 (BRST)
What about accepting the ugly stuff if it comes inside parentheses,
function (mylib.MyClass):method() ... end
contrasted to the problematic
function mylib.MyClass:method() ... end
This isn't accepted right now, but I think that allowing it would be a
simple (and reasonably elegant) change and wouldn't break anything or
create any ambiguities.
John Belmonte wrote:
> I don't need the full sugar (the embedded function call), just one
> more teaspoon to cover a very common case:
> function mylib.MyClass:method() ... end
> Let's try the "accepted syntax":
> -- oops, you can't do this!
> mylib.MyClass:method = function() ... end
> So now we're down to:
> mylib.MyClass.method = function(self) end
> Which makes it very hard to identify class members functions in your
> code, even with syntax highlighting. And you've lost the method
> definition sugar.
> The "temp variable" workaround is the worst looking of all, and
> defeats trying to keep everything inside mylib:
> local temp = mylib.MyClass
> function temp:method() ... end
> Please consider Edgar's function definition extension for Lua.