passing_20arrays_20to_20subs_20and_20functions
This is an old revision of the document!
Passing arrays to SUBs and FUNCTIONs
by Richard Russell, March 2014
LB Booster provides the capability of passing an entire array as a parameter to a SUB or a FUNCTION. Here is a simple example:
one(5) = 123 call test one() end
sub test two() print two(5) end sub
To demonstrate that the array two() is genuinely 'local' to the SUB:
one(5) = 123 two(5) = 456 call test one() print two(5) end
sub test two() print two(5) end sub
Arrays are automatically passed 'by reference' (you don't need to specify BYREF):
one(5) = 123 two(5) = 456 call test one() print two(5) print one(5) end
sub test two() print two(5) two(5) = 789 end sub
But you must use BYREF if you want to REDIM the array inside the SUB (requires LBB v2.53 or later):
one(5) = 123 two(5) = 456 call test one() print two(5) print one(15) end
sub test byref two() print two(5) redim two(15) two(15) = 789 end sub
Of course you can use a FUNCTION instead of a SUB:
one(5) = 123 two(5) = 456 print test(one()) print two(5) print one(5) end
function test(two()) test = two(5) two(5) = 789 end function
passing_20arrays_20to_20subs_20and_20functions.1522502372.txt.gz · Last modified: 2024/01/05 00:17 (external edit)