User Tools

Site Tools


el:function

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

el:function [2016/01/01 22:39] (current)
Line 1: Line 1:
 +===== Function =====
  
 +==== Format ====
 +**function** functionname ( //variable list// )\\
 +//​statements//​\\
 +**end function**
 +
 +**function** functionname$ ( //variable list// )\\
 +//​statements//​\\
 +**end function**
 +
 +==== Description ====
 +Create a function that will receive zero or more values, process those values and return either a numeric or string value. ​ Return values are set by assigning the name of the function and executing a [[Return|Return]] statement or allowing the //End Function// statement to be executed. ​ All variables used within the function will be local to the function and will not change the values in the calling code.
 +
 +In many structured languages the return value of a function is set using the [[return|Return]] statement. ​ In BASIC-256 the returned value of a function is set by assigning the function name the value and either executing the [[Return|Return]] statement or reaching the end of the function. ​ A numeric function has the default return value of zero (0) and a string function has the default value of a zero length string (""​).
 +
 +Subroutine variables may a list of zero or more, comma separated, numeric or string variables. ​ Arrays and variables may be passed by reference using the [[Ref|Ref]] definition.
 +
 +Functions should be defined at the bottom of your program, and can not be defined within another function, [[Subroutine|Subroutine]] or control block ([[if|If/​Then]],​ [[do|Do/​Until]],​ ...)
 +
 +==== Example ====
 +
 +<​code>​
 +print double$("​Hello"​)
 +print triple(3)
 +end
 +
 +function double$(a$)
 +   ​double$ = a$ + a$
 +end function
 +
 +function triple(b)
 +   ​triple = b * 3
 +   ​return
 +   ​triple = 9999 # code never gets executed
 +end function
 +</​code>​
 +will display\\
 +<​code>​
 +HelloHello
 +9
 +</​code>​
 +==== See Also ====
 +{{page>​en:​start#​Program Control&​noheader}}
 +
 +==== New To Version ==== 
 +0.9.9.1
el/function.txt ยท Last modified: 2016/01/01 22:39 (external edit)