Function (explanatory): Difference between revisions

From QB64 Phoenix Edition Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:




Altering the variables that are used as arguments within the function will cause the same changes to the variables outside of the function. This also applies to [[Sub (explanatory)|subs]]. Variables that are not arguments of the function will not be changed if used within the function unless they are {{KW|SHARED}}. See the second example of [[sub (explanatory)|subs]] for a demonstration of this (it functions the same way in subs).
Altering the variables that are used as arguments within the function will cause the same changes to the variables outside of the function. This also applies to [[Sub (explanatory)|subs]]. Variables that are not arguments of the function will not be changed if used within the function unless they are [[SHARED]]. See the second example of [[sub (explanatory)|subs]] for a demonstration of this (it functions the same way in subs).





Revision as of 00:50, 25 January 2023

A BASIC function is a procedure that returns one value in it's name. A function can be used as a statement argument or be assigned to a variable.


User-defined functions are possible and behave the same way, with the only exception that user-defined functions cannot currently have optional arguments.


Altering the variables that are used as arguments within the function will cause the same changes to the variables outside of the function. This also applies to subs. Variables that are not arguments of the function will not be changed if used within the function unless they are SHARED. See the second example of subs for a demonstration of this (it functions the same way in subs).


The arguments of a function need to be enclosed with parantheses (unless there are no arguments).


Function and sub procedures are placed after the main code body.



Examples

Example 1: Some BASIC functions.

a = ABS(-1)
b = INT(2.54)
c = CINT(2.54)
PRINT "ABS(-1) gives"; a
PRINT "INT(2.54) gives"; b
PRINT "CINT(2.54) gives"; c
PRINT "ATN(1) * 4 gives"; ATN(1) * 4


Example 2: User-defined function.

d = dividebyhalf(4)

PRINT "dividebyhalf(4) gives"; d

FUNCTION dividebyhalf (number)
IF number <> 0 THEN
    half = number / 2
ELSE
    half = 0
END IF
dividebyhalf = half
END FUNCTION
Explanation: The calculated value is assigned to the name of the function. When calculations require several changes, use an intermediary variable. Then assign that value to the function name.



See also




Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link