Pytania oznaczone «lambda»

102
C ++ 0x przechwytywanie lambda przez wartość zawsze const?

Czy istnieje sposób na przechwycenie według wartości i uczynienie przechwyconej wartości inną niż stała? Mam funktor biblioteczny, który chciałbym przechwycić i wywołać metodę, która nie jest stała, ale powinna być. Poniższe nie kompiluje się, ale wykonanie foo :: operator () const naprawia...

101
Dlaczego potrzebujemy włókien

Dla Fibers mamy klasyczny przykład: generowanie liczb Fibonacciego fib = Fiber.new do x, y = 0, 1 loop do Fiber.yield y x,y = y,x+y end end Dlaczego potrzebujemy tutaj włókien? Mogę to przepisać z tym samym procesem (właściwie zamknięciem) def clsr x, y = 0, 1 Proc.new do x, y...

101
Jak ustawić domyślną wartość pola modelu Django na wywoływaną / możliwą do wywołania funkcji (np. Datę w stosunku do czasu utworzenia obiektu modelu)

EDYTOWANO: Jak ustawić wartość domyślną pola Django na funkcję, która jest oceniana za każdym razem, gdy tworzony jest nowy obiekt modelu? Chcę zrobić coś podobnego do następującego, z tą różnicą, że w tym kodzie kod jest oceniany raz i ustawia domyślną tę samą datę dla każdego utworzonego...

100
Powrót z lambda forEach () w java

Próbuję zmienić niektóre pętle for-each na forEach()metody lambda, aby odkryć możliwości wyrażeń lambda. Wydaje się, że możliwe jest: ArrayList<Player> playersOfTeam = new ArrayList<Player>(); for (Player player : players) { if (player.getTeam().equals(teamName)) {...

99
Wiele testów zerowych w Javie 8

Mam poniższy kod, który jest trochę brzydki dla wielu sprawdzeń zerowych. String s = null; if (str1 != null) { s = str1; } else if (str2 != null) { s = str2; } else if (str3 != null) { s = str3; } else { s = str4; } Spróbowałem więc użyć Optional.ofNullableponiższego, ale nadal trudno jest...

99
Jak zaimplementowano std :: function?

Według źródeł, które znalazłem, wyrażenie lambda jest zasadniczo implementowane przez kompilator, tworząc klasę z przeciążonym operatorem wywołania funkcji i zmiennymi, do których się odwołujemy jako składowymi. Sugeruje to, że rozmiar wyrażeń lambda jest różny, a przy wystarczającej liczbie...

99
Prawidłowe użycie Optional.ifPresent ()

Próbuję zrozumieć ifPresent()metodę OptionalAPI w Javie 8. Mam prostą logikę: Optional<User> user=... user.ifPresent(doSomethingWithUser(user.get())); Ale to powoduje błąd kompilacji: ifPresent(java.util.functionError:(186, 74) java: 'void' type not allowed here) Oczywiście mogę...

97
Implementacja lambda i model pamięci w C ++ 11

Chciałbym uzyskać informacje o tym, jak poprawnie myśleć o domknięciach std::functionw C ++ 11 oraz o tym, jak są one implementowane i jak obsługiwana jest pamięć. Chociaż nie wierzę w przedwczesną optymalizację, mam zwyczaj uważnego rozważania wpływu moich wyborów na wydajność podczas pisania...

96
Zawijanie czasu StopWatch z delegatem lub lambdą?

Piszę kod w ten sposób, robiąc szybki i brudny czas: var sw = new Stopwatch(); sw.Start(); for (int i = 0; i < 1000; i++) { b = DoStuff(s); } sw.Stop(); Console.WriteLine(sw.ElapsedMilliseconds); Z pewnością istnieje sposób, aby wywołać ten kawałek kodu czasowego jako fantazyjne-schmancy...

94
Co oznacza [=] w C ++?

Chcę wiedzieć, co [=]robi? Oto krótki przykład template <typename T> std::function<T (T)> makeConverter(T factor, T offset) { return [=] (T input) -> T { return (offset + input) * factor; }; } auto milesToKm = makeConverter(1.60936, 0.0); Jak kod działałby z []zamiast...

94
_ (podkreślenie) jest zastrzeżonym słowem kluczowym

Właśnie zastąpiłem sw poniższym wyrażeniu lambda przez _: s -> Integer.parseInt(s) Kompilator Eclipse mówi: „_” nie powinno być używane jako identyfikator, ponieważ jest to zastrzeżone słowo kluczowe od poziomu źródła od 1.8. Nie znalazłem żadnego wyjaśnienia w JLS §3.9 Struktura...