Как создать эту функцию, которая возвращает истину, если число 5 к анонимной функции:Преобразование этой функции анонимной функции
def yeah_five(p: Int): Boolean = p == 5
спасибо?
Как создать эту функцию, которая возвращает истину, если число 5 к анонимной функции:Преобразование этой функции анонимной функции
def yeah_five(p: Int): Boolean = p == 5
спасибо?
Краткое обозначение для анонимных функций:
(p: Int) => (p == 5);
Длинная версия:
new Function1[Int] {
def apply(p: Int): Int = p == 5
}
еще короче (_: Int) == 5 –
Вы хотите функцию, которая принимает целое число и возвращает логическое
(p: Int) => (p == 5);
Читать через учебник по anonymous функций.
Я думаю, самый короткий путь, чтобы написать это будет выглядеть примерно так:
val f: Int => Boolean = (_ == 5)
Конечно, в зависимости от контекста вы можете потерять аннотацию типа:
List(1, 2, 3, 5, 4, 5).filter(_ == 5)
=> List(5, 5)
Согласно @ наблюдениям Сень ты можешь быть еще более succint с 5==
Wich превращает ==
метод объекта 5 к функции.
val g: Int => Boolean = 5==
List(1, 2, 3, 5, 4, 5).filter(g) => List(5, 5)
Если вы хотите кратчайший путь: 'List (1, 2, 3, 5, 4, 5) .filter (5 ==)' – senia
@senia Спасибо, это не передумал. Я обновлю свой ответ с вашим наблюдением, если с тобой все в порядке –
@ alex23 Это частично применяется, да. –
В случае, если вы хотите, чтобы превратить это уже объявленный метод в функцию, сделать это
yeah_five _
Какую функцию? В вашем примере кода нет функции. –