Java Reference
In-Depth Information
How to do it...
In JavaFX, A function is a specialized code block preceded by the function keyword. It
can accept zero or more typed parameters and always returns a typed value. Here is the
declaration of a function type assigned to variable called squareIt, which returns the
squared value of the number passed in as parameter. Complete code listing can be found
at ch01/source-code/src/javafx/SimpleFunction.fx .
var squareIt : function(:Number):Number;
squareIt = function (x) {
x * x;
}
var square3 = squareIt(3);
println ("3 squared = {square3}");
How it works...
In JavaFX, a function has a distinct, definable type (similar to String, Number, and Integer).
A function type is defined by its parameter signature and its return type. Variables (and
parameters) can be assigned a function type. For instance, in the previous snippet, variable
squareIt is declared as being a function type. This means that the variable squareIt can
be assigned a function that takes one parameter of type Number and returns a value of type
Number . squareIt can be used anywhere a function call can be used, as shown in the call
var square3 = squareIt(3) .
Note that the declaration and definition of the function can be combined in one step, as
show next:
function squareIt(x:Number):Number{
x * x;
}
The JavaFX compiler can infer the types associated with a function's parameter signature and
return value. Therefore, the function definition can be reduced to:
function squareIt(x) {
x*x;
}
The type inference engine in JavaFX will determine the proper type of the parameter based on
value of the parameter at runtime. The return type of the function is based on the type of the
last statement in the function or the type of the value used in the return statement.
 
Search WWH ::




Custom Search