2010-03-11 92 views
1

目前,我正在写一个JavaFX指南Java开发者。为了说明如何将函数传递给另一个函数我采取有效的Java中发现的减少()函数:的JavaFX - 减少()函数来显示如何通过函数作为参数

function reduce(seq: Integer, f: function(: Integer, : Integer): Integer, init: Integer) { 
    var result = init; 

    for (i in seq) { 
     result = f(i, result); 
    } 

    result 
} 

def nums = [1 .. 10]; 

println(reduce(nums, function(a: Integer, b: Integer) { a + b }, 0)); // prints 55 
println(reduce(nums, function(a: Integer, b: Integer) { a * b }, 1)); // prints 3628800 

现在,我不知道如果这个例子是不是太难为别人开始学习JavaFX的。本教程针对的是对Java有深刻理解的程序员,但我不太确定该示例的用处。有任何想法吗?

回答

1

一个例子可以是这样的。

假设创建例如UI组件“时尚键”

此时装按钮具有接收作为参数的另一方法X.内部的onMouseOver一些预处理是由,然后X方法被调用的方法的onMouseOver。

所以时尚按钮的用户可以创建该X的方法和把它传递给的onMouseOver,所以当鼠标指针悬停按钮X方法将被执行。

+0

这是一个非常好的例子,但在我的教程中,我专注于脚本语言,而随后的GUI编程本身。 – helpermethod 2010-03-12 00:16:43