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

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

8
Лямбда-захват как постоянная ссылка?
Можно ли захватить константной ссылкой в ​​лямбда-выражении? Я хочу, чтобы назначение, отмеченное ниже, не сработало, например: #include <cstdlib> #include <vector> #include <string> #include <algorithm> using namespace std; int main() { string strings[] = { "hello", "world" }; static const size_t num_strings = sizeof(strings)/sizeof(strings[0]); string best_string = "foo"; for_each( &strings[0], &strings[num_strings], …
166 c++  c++11  lambda  c++14 


6
Фильтруйте значения, только если не нуль, используя лямбду в Java8
У меня есть список объектов, скажем car. Я хочу отфильтровать этот список на основе какого-либо параметра, используя Java 8. Но если параметр есть null, он выбрасывает NullPointerException. Как отфильтровать нулевые значения? Текущий код выглядит следующим образом requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); Это бросает, NullPointerExceptionесли getName()возвращается null.

16
Как произносится «=>», как используется в лямбда-выражениях в .Net?
Я очень редко встречаю других программистов! Моя мысль, когда я впервые увидел токен, была «подразумевает, что», потому что это то, что он будет читать как математическое доказательство, но это явно не его смысл. Так как же сказать или прочитать "=>", как в: - IEnumerable<Person> Adults = people.Where(p => p.Age > …
160 c#  .net  lambda  conventions 

6
Может ли Java-лямбда иметь более 1 параметра?
В Java возможно ли лямбда принимать несколько разных типов? Т.е. работает одна переменная: Function <Integer, Integer> adder = i -> i + 1; System.out.println (adder.apply (10)); Varargs также работают: Function <Integer [], Integer> multiAdder = ints -> { int sum = 0; for (Integer i : ints) { sum += …
158 java  lambda  java-8 

5
Как сериализовать лямбду?
Как я могу элегантно сериализовать лямбду? Например, код ниже выдает a NotSerializableException. Как я могу это исправить, не создавая SerializableRunnable"фиктивный" интерфейс? public static void main(String[] args) throws Exception { File file = Files.createTempFile("lambda", "ser").toFile(); try (ObjectOutput oo = new ObjectOutputStream(new FileOutputStream(file))) { Runnable r = () -> System.out.println("Can I be …

6
Переместить захват в лямбду
Как мне перехватить по ходу (также известный как rvalue reference) в лямбда-выражении C ++ 11? Я пытаюсь написать что-то вроде этого: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };

14
Рекурсивные лямбда-функции в C ++ 11
Я новичок в C ++ 11. Я пишу следующую рекурсивную лямбда-функцию, но она не компилируется. sum.cpp #include <iostream> #include <functional> auto term = [](int a)->int { return a*a; }; auto next = [](int a)->int { return ++a; }; auto sum = [term,next,&sum](int a, int b)mutable ->int { if(a>b) return 0; …
155 c++  c++11  lambda 

10
Для чего используются функциональные интерфейсы в Java 8?
Я встретил новый термин в Java 8: «функциональный интерфейс». Я мог найти только одно применение при работе с лямбда-выражениями . Java 8 предоставляет несколько встроенных функциональных интерфейсов, и если мы хотим определить какой-либо функциональный интерфейс, мы можем использовать @FunctionalInterfaceаннотацию. Это позволит нам объявить только один метод в интерфейсе. Например: @FunctionalInterface …
154 java  lambda  interface  java-8 


5
String.IsNullOrWhiteSpace в выражении LINQ
У меня есть следующий код: return this.ObjectContext.BranchCostDetails.Where( b => b.TarrifId == tariffId && b.Diameter == diameter || (b.TarrifId==tariffId && !string.IsNullOrWhiteSpace(b.Diameter)) || (!b.TarrifId.HasValue) && b.Diameter==diameter); И я получаю эту ошибку при попытке запустить код: LINQ to Entities не распознает метод метода Boolean IsNullOrWhiteSpace (System.String), и этот метод нельзя преобразовать в выражение …

14
Сжатие потоков с использованием JDK8 с использованием лямбды (java.util.stream.Streams.zip)
В JDK 8 с лямбдой b93 в b93 был класс java.util.stream.Streams.zip, который можно использовать для архивирования потоков (это показано в учебном пособии Dhananjay Nene, посвященном изучению Java8-лямбд. Часть 1 ). Эта функция: Создает ленивый и последовательный объединенный поток, элементы которого являются результатом объединения элементов двух потоков. Однако в b98 это …

4
Использование переменной-члена в лямбда-списке захвата внутри функции-члена
Следующий код компилируется с gcc 4.5.1, но не с VS2010 SP1: #include <iostream> #include <vector> #include <map> #include <utility> #include <set> #include <algorithm> using namespace std; class puzzle { vector<vector<int>> grid; map<int,set<int>> groups; public: int member_function(); }; int puzzle::member_function() { int i; for_each(groups.cbegin(),groups.cend(),[grid,&i](pair<int,set<int>> group){ i++; cout<<i<<endl; }); } int main() …

7
Как в Java 8 преобразовать карту <K, V> в другую карту <K, V> с помощью лямбда?
Я только начал смотреть на Java 8 и попробовать лямбды, я подумал, что попробую переписать очень простую вещь, которую написал недавно. Мне нужно превратить карту строки в столбец в другую карту строки в столбец, где столбец на новой карте является защитной копией столбца на первой карте. Столбец имеет конструктор копирования. …
145 java  map  lambda  java-8  java-stream 

3
Производительность foreach, array_map с лямбдой и array_map со статической функцией
Какая разница в производительности (если есть) между этими тремя подходами, которые используются для преобразования массива в другой массив? С помощью foreach Использование array_mapс лямбда / функцией закрытия Использование array_mapсо «статической» функцией / методом Есть ли другой подход? Чтобы прояснить ситуацию, давайте посмотрим на примеры, которые все делают одинаково - умножая …

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