2010-03-11 3 views
1

На данный момент я пишу руководство JavaFX для разработчиков Java. Для того, чтобы показать, как передать функцию в другую функцию я принял функцию уменьшения() найдено в Effective Java:Функция JavaFX - reduce(), чтобы показать, как передавать функции как параметры

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

Примером может быть что-то вроде этого.

Предположим, что вы создать компонент пользовательского интерфейса, например, кнопку «моды»

Эта кнопка мода имеет метод OnMouseOver, который принимает в качестве параметра другой метод X. внутри OnMouseOver некоторые предобработки производится, а затем метод X называется.

Таким образом, пользователь кнопки моды может создать этот метод X и передать его в onMouseOver, поэтому, когда указатель мыши перейдет, будет запущен метод кнопки X.

+0

Это довольно хороший пример, но в моем учебном пособии я сосредоточен на языке скриптов, а не на программировании графического интерфейса. – helpermethod

Смежные вопросы