===== Ref ===== ==== Format ==== subroutine subroutinename ( //**ref(**variable**)**,variable// )\\ call subroutinename ( // ref(variable),variable// )\\ \\ function functionname ( //**ref(**variable**)**,variable// )\\ functionname ( //ref(variable),variable// )\\ ==== Description ==== By default values are passed to [[Subroutine|Subroutines]] and [[function|Functions]] by value. This means that the value that you specify when calling the routine is copied into a variable that belongs to and is totally local to the routine.\\ The **ref()** declaration allows you to pass a reference to a variable or an array to the routine. When a routine changes the value of a referenced variable, the change is actually made to the original variable used in the routine call. ==== Example ==== dim a(10) call assignarray(ref(a),10) print "total="+totalarray(ref(a),10) end subroutine assignarray(ref(array), arraylen) # set array elements for t = 0 to arraylen-1 array[t]= t*t print array[t] next t end subroutine function totalarray(ref(array),arraylen) totalarray = 0 for t = 0 to arraylen-1 totalarray += array[t] next t end function displays\\ 0 1 4 9 16 25 36 49 64 81 total=285 ==== See Also ==== {{page>en:start#Program Control&noheader}} ==== New To Version ==== 0.9.9.13