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

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

5
Возврат из лямбды forEach () в java
Я пытаюсь изменить некоторые циклы for-each на лямбда- forEach()методы, чтобы открыть для себя возможности лямбда-выражений. Кажется возможным следующее: ArrayList<Player> playersOfTeam = new ArrayList<Player>(); for (Player player : players) { if (player.getTeam().equals(teamName)) { playersOfTeam.add(player); } } С лямбдой forEach() players.forEach(player->{if (player.getTeam().equals(teamName)) {playersOfTeam.add(player);}}); Но следующий не работает: for (Player player : players) …


4
Как реализован std :: function?
Согласно источникам, которые я нашел, лямбда-выражение по существу реализуется компилятором, создающим класс с перегруженным оператором вызова функции и ссылочными переменными в качестве членов. Это говорит о том, что размер лямбда-выражений варьируется, и при наличии достаточного количества ссылочных переменных размер может быть сколь угодно большим . Объект std::functionдолжен иметь фиксированный размер …
99 c++  c++11  lambda 

5
Правильное использование Optional.ifPresent ()
Я пытаюсь понять ifPresent() метод OptionalAPI в Java 8. У меня простая логика: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Но это приводит к ошибке компиляции: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) Конечно, я могу сделать что-то вроде этого: if(user.isPresent()) { doSomethingWithUser(user.get()); } Но это в точности как захламленный nullчек. Если я …
99 java  lambda  java-8  optional 

2
Реализация лямбда-выражения C ++ 11 и модель памяти
Мне хотелось бы получить некоторую информацию о том, как правильно думать о замыканиях std::functionв C ++ 11, о том, как они реализованы и как обрабатывается память. Хотя я не верю в преждевременную оптимизацию, у меня есть привычка тщательно учитывать влияние моего выбора на производительность при написании нового кода. Я также …
97 c++  memory  lambda  c++11 

9
Инструмент для быстрой отладки Visual Studio и лямбда-выражения
Почему я не могу использовать лямбда-выражения при отладке в окне «Быстрый просмотр»? UPD: смотрите также http://blogs.msdn.com/b/jaredpar/archive/2009/08/26/why-no-linq-in-debugger-windows.aspx http://blogs.msdn.com/b/jaredpar/archive/2010/06/02/why-is-linq-absent-from-debugger-windows-part-2.aspx

10
Обертывание тайминга StopWatch с помощью делегата или лямбда?
Я пишу такой код, немного быстро и грязно: var sw = new Stopwatch(); sw.Start(); for (int i = 0; i < 1000; i++) { b = DoStuff(s); } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); Конечно , есть способ вызвать этот бит кода синхронизации как лямбда фантазийных schmancy .NET 3.0 , а не ( не …
95 c#  .net  delegates  lambda 

5
Как преобразовать все строки в List <string> в нижний регистр с помощью LINQ?
Вчера я увидел фрагмент кода в одном из ответов на StackOverflow, который меня заинтриговал. Это было примерно так: List&lt;string&gt; myList = new List&lt;string&gt; {"aBc", "HELLO", "GoodBye"}; myList.ForEach(d=&gt;d.ToLower()); Я надеялся, что смогу использовать его для преобразования всех элементов в myList в нижний регистр. Однако этого не происходит ... после запуска этого …
95 c#  linq  lambda  foreach 

4
Как создать экземпляр анонимного интерфейса в Котлине?
У меня есть сторонняя библиотека Java, объект с таким интерфейсом: public interface Handler&lt;C&gt; { void call(C context) throws Exception; } Как я могу кратко реализовать его в Kotlin, как анонимный класс Java, например: Handler&lt;MyContext&gt; handler = new Handler&lt;MyContext&gt; { @Override public void call(MyContext context) throws Exception { System.out.println("Hello world"); } …

2
Что означает [=] в C ++?
Я хочу знать, что [=]делает? Вот небольшой пример template &lt;typename T&gt; std::function&lt;T (T)&gt; makeConverter(T factor, T offset) { return [=] (T input) -&gt; T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); Как будет работать код []вместо [=]? Я предполагаю что std::function&lt;T (T)&gt; означает …
94 c++  c++11  lambda 

8
Лямбда C ++ с захватами в качестве указателя на функцию
Я играл с лямбдами C ++ и их неявным преобразованием в указатели на функции. В моем начальном примере они использовались в качестве обратного вызова для функции ftw. Это работает, как ожидалось. #include &lt;ftw.h&gt; #include &lt;iostream&gt; using namespace std; int main() { auto callback = [](const char *fpath, const struct stat …

1
Устранение неоднозначной перегрузки указателя функции и std :: function для лямбда с помощью +
В следующем коде первый вызов fooнеоднозначен и поэтому не может быть скомпилирован. Второй, с добавленным +перед лямбдой, разрешает перегрузку указателя функции. #include &lt;functional&gt; void foo(std::function&lt;void()&gt; f) { f(); } void foo(void (*f)()) { f(); } int main () { foo( [](){} ); // ambiguous foo( +[](){} ); // not ambiguous …

3
_ (подчеркивание) - зарезервированное ключевое слово
Я только что заменил sследующее лямбда-выражение на _: s -&gt; Integer.parseInt(s) Компилятор Eclipse говорит: '_' не следует использовать в качестве идентификатора, поскольку это зарезервированное ключевое слово начиная с уровня источника 1.8. Я не нашел никаких объяснений в лексической структуре / ключевых словах JLS §3.9 .
94 java  lambda  java-8 

3
Явный тип возврата лямбды
Когда я пытаюсь скомпилировать этот код (VS2010), я получаю следующую ошибку: error C3499: a lambda that has been specified to have a void return type cannot return a value void DataFile::removeComments() { string::const_iterator start, end; boost::regex expression("^\\s?#"); boost::match_results&lt;std::string::const_iterator&gt; what; boost::match_flag_type flags = boost::match_default; // Look for lines that either start …

7
Что такое лямбда?
Может ли кто-нибудь дать хорошее описание того, что такое лямбда? У нас есть теги для них, и они касаются секретов вопроса C #, но мне еще предстоит найти хорошее определение и объяснение того, что они из себя представляют.

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