lua-users home
lua-l archive

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


On Feb 4, 2011, at 12:26 AM, Steve Litt wrote:

> On Friday 04 February 2011 00:04:46 Geoff Leyland wrote:
>> On 4/02/2011, at 5:56 PM, Steve Litt wrote:
>>> Thanks Geoff,
>>> 
>>> I think it does help. So I define my new function print() as taking
>>> argument str, so obviously when the program is run str is "Hello World".
>>> Then I pass that str to oldprint(), which is a reference to print(),
>>> which has already been defined as taking an argument, so no further
>>> definition or declaration needed.
>>> 
>>> Does that about sum it up?
>> 
>> Yep.  "oldprint(), which is a reference to *the original* print()"
>> If none of these functions were called "print" or anything like it, and
>> there weren't languages where print was part of the language and not just
>> a function, I think it'd all be much simpler to understand.
> 
> OK, I think I have it. Thanks.

This all makes more sense when you consider that 

 function foo(arg1, arg2, etc) end

is just shorthand for

 foo = function(arg1, arg2, etc) end

The function names are just references to otherwise anonymous functions.

Louis Mamakos