User Tools

Site Tools


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
This website uses cookies for visitor traffic analysis. By using the website, you agree with storing the cookies on your computer.More information
passing_20arrays_20to_20subs_20and_20functions.1522502372.txt.gz · Last modified: 2018/03/31 13:19 by 127.0.0.1