JavaFX - функция limit (), чтобы показать, как передавать функции в качестве параметров - PullRequest
1 голос
/ 12 марта 2010

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

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 Ответ

1 голос
/ 12 марта 2010

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...