<div dir="ltr"><div>Why not to make object to hold the values and return it?</div><div><br></div><div><br></div><div>Jussi<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 6, 2019 at 10:29 PM Tobias Boege <<a href="mailto:taboege@gmail.com">taboege@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, 06 Mar 2019, Cedron Dawg wrote:<br>
> Question:<br>
> <br>
> Which is preferred:  "Function  .. As .." -OR-  "Sub  .. As .." ?<br>
> <br>
> Anybody have a strong opinion?<br>
> <br>
> I lean towards, and am using, the latter.  A step away from BASIC perhaps, but one fewer thing a newbie has to learn.  More elegant.<br>
> <br>
<br>
I personally use Function for pure functions, that take input and return<br>
a value without affecting or being affected by state of the current object.<br>
I use Sub for subroutines in the sense that they execute code that might<br>
modify state but don't necessarily return a value. So in my code you'll<br>
never see "Function" without "As", but you will see "Sub" with or without<br>
"As". What I don't use is the third synonym "Procedure". (Maybe I should<br>
employ that for "Sub that doesn't return a value"?)<br>
<br>
> Request:<br>
> <br>
> Would it be possible to make subs return multiple values like Python can?<br>
> <br>
> That can be really handy. <br>
<br>
I second that. Meanwhile you can emulate this through ByRef. It isn't pretty<br>
but IIRC the way ByRef is implemented could be used to make subroutines<br>
return multiple values. That requires a new syntax for a "tuple L-value"<br>
though.<br>
<br>
Regards,<br>
Tobi<br>
<br>
-- <br>
"There's an old saying: Don't change anything... ever!" -- Mr. Monk<br>
<br>
----[ Gambas mailing-list is hosted by <a href="https://www.hostsharing.net" rel="noreferrer" target="_blank">https://www.hostsharing.net</a> ]----<br>
</blockquote></div>