Function: Difference between revisions

From NSB App Studio
Jump to navigation Jump to search
Brendon (talk | contribs)
Created page with "FUNCTION ''procedurename''[(''arglist'')] <br /> :::[''statements''] <br /> :::[''procedurename'' = ''expression''] <br /> :::[EXIT FUNCTION] <br /> :::[''statements''] <br />..."
 
No edit summary
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
FUNCTION ''procedurename''[(''arglist'')] <br />
Function ''procedurename''(''arglist'') <br />
:::[''statements''] <br />
:::[''statements''] <br />
:::[''procedurename'' = ''expression''] <br />
:::[''procedurename'' = ''expression''] <br />
:::[EXIT FUNCTION] <br />
:::[Exit Function] <br />
:::[''statements''] <br />
:::[''statements''] <br />
:::[''procedurename'' = ''expression''] <br />
:::[''procedurename'' = ''expression''] <br />
END FUNCTION
End Function


'''Description'''
== Description ==


FUNCTION declares a procedure, ''procedurename'', that executes statements, with ''arglist'' as parameters, with an optional return value. The required parameter, ''procedurename'', is used to call the procedure, and must follow standard variable naming conventions. The optional parameter list, ''arglist'', is a comma separated list of variables used to represent variables that are passed to the procedure when it is called. The optional component, ''statements'', will be executed as the body of the procedure. Any number of optional EXIT FUNCTION statements can be used to exit the procedure during execution. The value returned by the procedure defaults to EMPTY. To return a value other than the default, assign the value to the function name. The current value of ''procedurename'' will be returned when the procedure exits by executing all statements or encountering an EXIT FUNCTION statement.
Function declares a procedure, ''procedurename'', that executes statements, with ''arglist'' as parameters, with an optional return value. The required parameter, ''procedurename'', is used to call the procedure, and must follow standard variable naming conventions. The optional parameter list, ''arglist'', is a comma separated list of variables used to represent variables that are passed to the procedure when it is called. The optional component, ''statements'', will be executed as the body of the procedure. Any number of optional Exit Function statements can be used to exit the procedure during execution. The value returned by the procedure defaults to Empty. To return a value other than the default, assign the value to the function name. The current value of ''procedurename'' will be returned when the procedure exits by executing all statements or encountering an Exit Function statement.


Each member of ''arglist'' is an argument passed to the procedure. Simple variables, such as strings and numbers, are passed by value. Complex variables, such as arrays and objects, are passed by reference. Each member of ''arglist'' can be used within the procedure to reference a value passed in. It follows standard variable naming procedure.
Each member of ''arglist'' is an argument passed to the procedure. Simple variables, such as strings and numbers, are passed by value. Complex variables, such as arrays and objects, are passed by reference. Each member of ''arglist'' can be used within the procedure to reference a value passed in. It follows standard variable naming procedure.


'''Note:''' If the return value is not stored in a variable or used in an expression, the procedure is called as a SUB procedure, and multiple arguments cannot be enclosed in parenthesis.
To call a function, use the function name followed with parenthesis containing the arguments. If there are no arguments, it is still recommended that parenthesis be supplied, so it is clear that a function is being called.


'''Example'''
'''Note:''' If the return value is not stored in a variable or used in an expression, the procedure is called as a Sub procedure, and multiple arguments cannot be enclosed in parenthesis.
 
== Examples (Basic) ==


<pre>
<pre>
REM FUNCTION Example
Rem Function Example
'FUNCTION: a procedure that returns a value
'Function: a procedure that returns a value
DIM Selection, SalePrice
Dim Selection, SalePrice
Selection = Menu("Wednesday")
Selection = Menu("Wednesday")
PRINT "Wednesday's menu feature:",Selection
Print "Wednesday's menu feature:",Selection
SalePrice = Min(31,29)
SalePrice = Min(31,29)
PRINT "Sale Price:", SalePrice
Print "Sale Price:", SalePrice
FUNCTION Menu(day)
 
   IF day = "Wednesday" THEN
Function Menu(day)
   If day = "Wednesday" Then
     Menu = "Salisbury Steak"
     Menu = "Salisbury Steak"
   END IF
   End If
END FUNCTION
End Function
FUNCTION Min(x,y)
 
   IF x > y THEN
Function Min(x,y)
     MIN = y
   If x > y Then
     EXIT FUNCTION
     Min = y
   ELSE
     Exit Function
     MIN = x
   Else
   END IF
     Min = x
END FUNCTION
  End If
End Function
</pre>
Create an object with a function as a member
<pre>
 
MyObj = new Object
Function MyObj.myFunction()
  Print "Here I am!"
End Function
 
'Now call it...
MyObj.myFunction()
</pre>
 
== Examples (JavaScript) ==
 
<pre>
// Function Example
/* Function: a procedure that returns a value */
 
var Selection, SalePrice;
Selection = Menu("Wednesday");
NSB.Print("Wednesday's menu feature: " +Selection);
SalePrice = Min(31,29);
NSB.Print("Sale Price: " + SalePrice);
 
function Menu(day) {
  if(day == "Wednesday") {
    return "Salisbury Steak";
  }
  return '';
}
 
function Min(x,y) {
   if(x > y) {
    return y;
} else {
    return x;
  }
}
</pre>
Create an object with a function as a member
<pre>
 
MyObj = new Object;
function MyObj_myFunction() {
  NSB.Print("Here I am!");
}
MyObj.myFunction=MyObj_myFunction;
 
//Now call it...
MyObj.myFunction();
</pre>
</pre>


'''Output'''
== Output ==


<pre>
<pre>
Line 47: Line 102:
</pre>
</pre>


'''Related Items'''
== Related Items ==
 
[[call|Call]], [[sub|Sub]]
 
[[Category:Language Reference]]


[[call|CALL]], [[sub|SUB]]
[[Category:Statements - Flow of control]]

Latest revision as of 15:00, 28 April 2014

Function procedurename(arglist)

[statements]
[procedurename = expression]
[Exit Function]
[statements]
[procedurename = expression]

End Function

Description

Function declares a procedure, procedurename, that executes statements, with arglist as parameters, with an optional return value. The required parameter, procedurename, is used to call the procedure, and must follow standard variable naming conventions. The optional parameter list, arglist, is a comma separated list of variables used to represent variables that are passed to the procedure when it is called. The optional component, statements, will be executed as the body of the procedure. Any number of optional Exit Function statements can be used to exit the procedure during execution. The value returned by the procedure defaults to Empty. To return a value other than the default, assign the value to the function name. The current value of procedurename will be returned when the procedure exits by executing all statements or encountering an Exit Function statement.

Each member of arglist is an argument passed to the procedure. Simple variables, such as strings and numbers, are passed by value. Complex variables, such as arrays and objects, are passed by reference. Each member of arglist can be used within the procedure to reference a value passed in. It follows standard variable naming procedure.

To call a function, use the function name followed with parenthesis containing the arguments. If there are no arguments, it is still recommended that parenthesis be supplied, so it is clear that a function is being called.

Note: If the return value is not stored in a variable or used in an expression, the procedure is called as a Sub procedure, and multiple arguments cannot be enclosed in parenthesis.

Examples (Basic)

Rem Function Example
'Function: a procedure that returns a value
Dim Selection, SalePrice
Selection = Menu("Wednesday")
Print "Wednesday's menu feature:",Selection
SalePrice = Min(31,29)
Print "Sale Price:", SalePrice

Function Menu(day)
  If day = "Wednesday" Then
    Menu = "Salisbury Steak"
  End If
End Function

Function Min(x,y)
  If x > y Then
    Min = y
    Exit Function
  Else
    Min = x
  End If
End Function

Create an object with a function as a member


MyObj = new Object
Function MyObj.myFunction()
  Print "Here I am!"
End Function

'Now call it...
MyObj.myFunction()

Examples (JavaScript)

// Function Example
/* Function: a procedure that returns a value */

var Selection, SalePrice;
Selection = Menu("Wednesday");
NSB.Print("Wednesday's menu feature: " +Selection);
SalePrice = Min(31,29);
NSB.Print("Sale Price: " + SalePrice);

function Menu(day) {
  if(day == "Wednesday") {
     return "Salisbury Steak";
  }
  return '';
}

function Min(x,y) {
  if(x > y) {
     return y;
 } else {
     return x;
  }
}

Create an object with a function as a member


MyObj = new Object;
function MyObj_myFunction() {
  NSB.Print("Here I am!");
}
MyObj.myFunction=MyObj_myFunction;

 //Now call it...
MyObj.myFunction();

Output

Wednesday's menu feature: Salisbury Steak
Sale Price:   29

Related Items

Call, Sub