2010-03-11 90 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