NIE UŻYWAJ DO USŁUGI AWS (do tych pytań użyj [aws-lambda!) Lambda to anonimowe funkcje lub zamknięcia w językach programowania, takich jak Lisp, C #, C ++, Lua, Python, Ruby, JavaScript lub Java. (Również wyrażenie lambda.)
Jak działa generyczna lambda ( autosłowo kluczowe jako typ argumentu) w standardzie C ++ 14? Czy jest oparty na szablonach C ++, w których dla każdego innego typu argumentu kompilator generuje nową funkcję o tej samej treści, ale zastępowanych typach (polimorfizm w czasie kompilacji), czy jest bardziej podobny do generycznych …
Widzę java.util.function.BiFunction, więc mogę to zrobić: BiFunction<Integer, Integer, Integer> f = (x, y) -> { return 0; }; A jeśli to nie wystarczy i potrzebuję TriFunction? To nie istnieje! TriFunction<Integer, Integer, Integer, Integer> f = (x, y, z) -> { return 0; }; Chyba powinienem dodać, że wiem, że potrafię …
Ponieważ Java 8 zawiera potężne wyrażenia lambda, Chciałbym napisać funkcję do konwersji listy / tablicy ciągów na tablicę / listę liczb całkowitych, zmiennoprzecinkowych, podwójnych itp. W normalnej Javie byłoby to tak proste, jak for(String str : strList){ intList.add(Integer.valueOf(str)); } Ale jak osiągnąć to samo z lambdą, biorąc pod uwagę tablicę …
Mam listę z niektórymi obiektami użytkownika i próbuję posortować listę, ale działa tylko przy użyciu odwołania do metody, z wyrażeniem lambda kompilator wyświetla błąd: List<User> userList = Arrays.asList(u1, u2, u3); userList.sort(Comparator.comparing(u -> u.getName())); // works userList.sort(Comparator.comparing(User::getName).reversed()); // works userList.sort(Comparator.comparing(u -> u.getName()).reversed()); // Compiler error Błąd: com\java8\collectionapi\CollectionTest.java:35: error: cannot find symbol …
Ponieważ Java8 została niedawno wydana, a jej zupełnie nowe wyrażenia lambda wyglądają na naprawdę fajne, zastanawiałem się, czy oznacza to upadek klas Anonymous, do których byliśmy tak przyzwyczajeni. Zbadałem trochę na ten temat i znalazłem kilka fajnych przykładów tego, jak wyrażenia lambda będą systematycznie zastępować te klasy, takie jak metoda …
Załóżmy, że mam ogólny interfejs: interface MyComparable<T extends Comparable<T>> { public int compare(T obj1, T obj2); } I metoda sort: public static <T extends Comparable<T>> void sort(List<T> list, MyComparable<T> comp) { // sort the list } Mogę wywołać tę metodę i przekazać jako argument wyrażenie lambda: List<String> list = Arrays.asList("a", …
Mam wyrażenie lambda, które chciałbym móc przekazać i ponownie wykorzystać. Oto kod: public List<IJob> getJobs(/* i want to pass the lambda expr in here */) { using (SqlConnection connection = new SqlConnection(getConnectionString())) { connection.Open(); return connection.Query<FullTimeJob, Student, FullTimeJob>(sql, (job, student) => { job.Student = student; job.StudentId = student.Id; return job; …
Wiem, że to jest Linq: var _Results = from item in _List where item.Value == 1 select item; Wiem, że to jest Lambda: var _Results = _List.Where(x => x.Value == 1); Uwaga redaktora: powyższe to nie tylko Lambda, to Linq używający "Method Syntax", którego predykatem jest Lambda. Żeby było jasne, …
Mam listę obiektów i chcę usunąć wszystkie obiekty, które są puste, z wyjątkiem jednego, używając filteri lambdawyrażenia. Na przykład, jeśli dane wejściowe to: [Object(name=""), Object(name="fake_name"), Object(name="")] ... wtedy wynik powinien wyglądać następująco: [Object(name=""), Object(name="fake_name")] Czy istnieje sposób na dodanie przypisania do lambdawyrażenia? Na przykład: flag = True input = [Object(name=""), …
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 to. struct foo { bool operator () ( …
Najczęściej używam funkcji lambda, ale czasami używam funkcji zagnieżdżonych, które wydają się zapewniać to samo zachowanie. Oto kilka trywialnych przykładów, w których funkcjonalnie robią to samo, jeśli znaleziono jedną z nich w innej funkcji: Funkcja lambda >>> a = lambda x : 1 + x >>> a(5) 6 Funkcja zagnieżdżona …
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 obiektu modelu, zamiast …
Używam biblioteki innej firmy, która ma funkcję, która przyjmuje funkcje jako argumenty. Wykonuję pewne kontrole warunkowe, aby zdecydować, czy dodać określoną funkcję jako parametr, aw niektórych przypadkach nie chcę udostępniać funkcji. Podanie wartości null w takich przypadkach powoduje zgłoszenie błędu. Znalazłem ten kod, który działa, ale nie do końca rozumiem, …
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 …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.