Вопросы с тегом «lambda»

НЕ ИСПОЛЬЗУЙТЕ ДЛЯ СЕРВИСА AWS (используйте [aws-lambda] для этих вопросов!). Лямбды - это анонимные функции или замыкания в таких языках программирования, как Lisp, C #, C ++, Lua, Python, Ruby, JavaScript или Java. (Также лямбда-выражение.)


4
Почему эта лямбда Java 8 не компилируется?
Следующий код Java не компилируется: @FunctionalInterface private interface BiConsumer<A, B> { void accept(A a, B b); } private static void takeBiConsumer(BiConsumer<String, String> bc) { } public static void main(String[] args) { takeBiConsumer((String s1, String s2) -> new String("hi")); // OK takeBiConsumer((String s1, String s2) -> "hi"); // Error } Компилятор …

6
Лямбда-выражения Java 8 - как насчет нескольких методов во вложенном классе
Я читаю о новых функциях по адресу: http://www.javaworld.com/article/2078836/java-se/love-and-hate-for-java-8.html Я видел пример ниже: Использование анонимного класса: button.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent ae) { System.out.println("Action Detected"); } }); С лямбдой: button.addActionListener(e -> { System.out.println("Action Detected"); }); Что бы кто-то сделал с a, MouseListenerесли бы захотел реализовать несколько методов в анонимном классе, …

6
Лямбда Python с подчеркиванием для аргумента?
Что делает следующий код? a = lambda _:True Судя по тому, что я прочитал и протестировал в интерактивной подсказке, похоже, что это функция, которая всегда возвращается True. Я правильно это понимаю? Я надеюсь понять, почему также использовалось подчеркивание ( _).
85 python  lambda 

4
c ++ 0x: правильный способ получить лямбда в качестве параметра по ссылке
Как правильно определить функцию, которая получает int->intпараметр лямбда по ссылке? void f(std::function< int(int) >& lambda); или же void f(auto& lambda); Я не уверен, что последняя форма является допустимым синтаксисом. Есть ли другие способы определения лямбда-параметра?

5
Почему Stream.allMatch () возвращает true для пустого потока?
У нас с коллегой возникла ошибка, связанная с нашим предположением, что вызов пустого потока allMatch()вернется false. if (myItems.allMatch(i -> i.isValid()) { //do something } Конечно, это отчасти наша вина, если мы предполагаем, а не читаем документацию. Но я не понимаю, почему allMatch()возвращается поведение по умолчанию для пустого потока true. Что …

4
Очень смущает вывод типа компаратора Java 8
Я изучал разницу между Collections.sortи list.sort, особенно в отношении использования Comparatorстатических методов и того, требуются ли типы параметров в лямбда-выражениях. Прежде чем мы начнем, я знаю, что могу использовать ссылки на методы, например, Song::getTitleдля решения моих проблем, но мой запрос здесь - это не столько то, что я хочу исправить, …

10
Java 8: предпочтительный способ подсчета итераций лямбды?
Я часто сталкиваюсь с одной и той же проблемой. Мне нужно подсчитать прогоны лямбды для использования вне лямбды . Например: myStream.stream().filter(...).forEach(item -> { ... ; runCount++}); System.out.println("The lambda ran " + runCount + "times"); Проблема в том, что runCount должен быть final, поэтому он не может быть int. Это не …

3
Как объявить функцию, принимающую лямбду?
Я прочитал в Интернете множество руководств, в которых объяснялось, как использовать лямбды со стандартной библиотекой (например, std::find ), и все они были очень интересными, но я не мог найти ни одного, объясняющего, как я могу использовать лямбда-выражения для моих собственных функций. Например: int main() { int test = 5; LambdaTest([&](int …
83 c++  lambda  c++11 

9
Java 8: форматирование лямбда-выражения с помощью символов новой строки и отступов
Я хотел бы добиться с помощью лямбда-отступа следующего: Многострочный оператор: String[] ppl = new String[] { "Karen (F)", "Kevin (M)", "Lee (M)", "Joan (F)", "Des (M)", "Rick (M)" }; List<String> strings = Arrays.stream(ppl) .filter( (x) -> { return x.contains("(M)"); } ).collect(Collectors.toList()); strings.stream().forEach(System.out::println); Однострочный оператор: List<String> strings = Arrays.stream(ppl) .map((x) -> …

6
цикл forEach Java 8 для набора записей Map
Я пытаюсь преобразовать старый стандарт для каждого цикла до java7 в java8 для каждого цикла для набора записей карты, но я получаю сообщение об ошибке. Вот код, который я пытаюсь преобразовать: for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println("Key : " + entry.getKey() + " Value : " + entry.getValue()); …
82 java  lambda  java-8 

4
В чем разница между Func <string, string> и delegate?
Я вижу делегатов в двух формах: A. Func&lt;string, string&gt; convertMethod = lambda B. public delegate string convertMethod(string value); Я не уверен, в чем на самом деле разница между этими двумя. Они оба делегаты? Я считаю, что первый будет использовать лямбду, а второй должен иметь метод для фактического выполнения работы. Я …
81 c#  asp.net  delegates  lambda 

5
Как получить адрес лямбда-функции C ++ внутри самой лямбды?
Я пытаюсь выяснить, как получить адрес лямбда-функции внутри себя. Вот пример кода: []() { std::cout &lt;&lt; "Address of this lambda function is =&gt; " &lt;&lt; ???? }(); Я знаю, что могу перехватить лямбду в переменной и напечатать адрес, но я хочу сделать это на месте, когда эта анонимная функция выполняется. …
53 c++  c++11  lambda  c++14  c++17 

4
Почему лямбда-тип возврата не проверяется во время компиляции?
Ссылка на используемый метод имеет тип возвращаемого значения Integer. Но несовместимое Stringдопускается в следующем примере. Как исправить withобъявление метода, чтобы получить безопасный тип ссылки на метод без приведения вручную? import java.util.function.Function; public class MinimalExample { static public class Builder&lt;T&gt; { final Class&lt;T&gt; clazz; Builder(Class&lt;T&gt; clazz) { this.clazz = clazz; } …

6
Есть ли способ объявить C # лямбду и немедленно вызвать его?
Можно объявить лямбда-функцию и немедленно вызвать ее: Func&lt;int, int&gt; lambda = (input) =&gt; { return 1; }; int output = lambda(0); Мне интересно, если это возможно сделать в одну строку, например что-то вроде int output = (input) =&gt; { return 1; }(0); что выдает ошибку компилятора "Ожидается имя метода". Приведение …
29 c#  lambda 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.