how are variables passed from functions?

Dave Cragg dave.cragg at lacscentre.co.uk
Fri Nov 14 11:56:24 EST 2014


Tiemo,

Interesting. It looks like functions return the value of "the result" in the absence of a return statement.

Other languages would probably return "void" or "null" or something similar, and we might expect Livecode to return "empty".

I've no opinion on whether it is a bug or not, but I think it is probably better to specifically return a value from a function. We don't always have control over what appears in "the result". 

Cheers
Dave



On 14 Nov 2014, at 08:47, Tiemo Hollmann TB <toolbook at kestner.de> wrote:

> By accident I noticed that I don't have a return at a certain point of a
> function but nevertheless the value was passed back without a return to the
> calling handler.
> 
> I can reproduce the issue to this scenario:
> 
> 
> 
> --Btn script
> 
> on mouseUp
> 
>    put foo1() into myVar1 -- I get the value "Test"           
> 
> end mouseUp
> 
> 
> 
> --script in stack
> 
> function foo1
> 
>   put foo2() into myVar2 -- no return in this function
> 
> end foo1
> 
> 
> 
> function foo2
> 
>   return "Test" -- return here in second level
> 
> end foo2
> 
> 
> 
> Up to now I thought that every function has to have a return statement if
> you want anything getting back.
> 
> Can somebody explain to me what is going on here? How is the value from
> function foo2 passed back to the mouseup handler, even with different var
> names?
> 
> Is this a bug or just an accident or even wanted?
> 
> Thanks for enlightening
> 
> Tiemo
> 
> 
> 
> 
> 
> 
> 
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list