passing_20arrays_20to_20subs_20and_20functions
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.txt · Last modified: 2024/01/05 00:22 by 127.0.0.1