<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1455052779955_42556">Regarding In-Out Parameters:</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">My gut reaction to typing 'inout' in front of every parameter I want to call by reference is that it makes code look rather waffly.</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">So I'm reflecting an idea on this:</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">Use = to assign values.</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">Use : to associate variables.</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">A function declaration would look like this:</div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr" class=""><br></div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr" class="">func addInt(add intToAdd = Int, to counterInt : Int ) {<br></div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr" class="">&nbsp; &nbsp; counterInt += intToAdd<br></div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr" class="">}</div><div dir="ltr" id="yui_3_16_0_1_1455052779955_42903" class=""><br id="yui_3_16_0_1_1455052779955_42905" class=""></div><div dir="ltr" id="yui_3_16_0_1_1455052779955_42903" class=""><br></div><div dir="ltr" id="yui_3_16_0_1_1455052779955_42903" class=""><br></div><div id="yui_3_16_0_1_1455052779955_42556">Here is example code for a game of 'think of a number' where you pick a random number and do some basic maths on it.<br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">//declare the function</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">func multiplyAdd(multiplyBy intToMultiply = Int, add intToAdd = Int, toNumber pickedInt : Int) {</div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr">&nbsp; &nbsp;&nbsp;pickedInt&nbsp;*= intToMultiply</div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr">&nbsp; &nbsp;&nbsp;pickedInt&nbsp;+= intToAdd<br></div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr">}<br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">//declare some variables</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">var multiplier = 2</div><div id="yui_3_16_0_1_1455052779955_42556">var adder = 3</div><div id="yui_3_16_0_1_1455052779955_42556">var pickNumber = 4</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr">//call the function</div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr"><br></div><div id="yui_3_16_0_1_1455052779955_42556" dir="ltr">multiplyAdd(multiplyBy = multiplier, add = adder, toNumber : pickNumber)</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556">It takes a little getting used to, but it does look quite clean.</div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42556"><br></div><div id="yui_3_16_0_1_1455052779955_42554"><br></div><div id="yui_3_16_0_1_1455052779955_42566"><br></div></div></body></html>