«lambda» etiketlenmiş sorular

AWS HİZMETİ İÇİN KULLANMAYIN (bu sorular için [aws-lambda] kullanın!) Lambdalar Lisp, C #, C ++, Lua, Python, Ruby, JavaScript veya Java gibi programlama dillerinde anonim işlevler veya kapaklardır. (Ayrıca lambda ifadesi.)

1
Üst kapsamdaki bir değişkenle aynı ada sahip bir alt değişkeni neden bildirebilirim?
Yakın zamanda, aynı adı taşıyan bir değişkene sahip bir işlev içinde bildirilen bir eylemin parametresi olarak bir değişken adını yanlışlıkla yeniden kullandığım son zamanlarda bazı kodlar yazdım. Örneğin: var x = 1; Action<int> myAction = (x) => { Console.WriteLine(x); }; Ben çoğaltma benekli, ben kod derlenmiş ve mükemmel koştu görmek …

3
Lambda fonksiyonunun değişken değişkenin bir referanstan global değişkene davranış davranışı farkı
Mutable anahtar kelime ile küresel değişkene bir referans yakalamak için bir lambda kullanır ve sonra lambda işlevindeki değeri değiştirmek sonuçları derleyiciler arasında farklı bulundu. #include <stdio.h> #include <functional> int n = 100; std::function<int()> f() { int &m = n; return [m] () mutable -> int { m += 123; return …

2
Lambda makrosu nasıl lambda oluşturur?
GitHub'da bu kod parçasını buldum ama tam olarak anlamadım: #define lambda(ret_type, _body) ({ ret_type _ _body _; }) Sonra: int (*max)(int, int) = lambda(int, (int x, int y) { return x > y ? x : y; }); int max_value = max(1, 2); // max_value is 2 Alt çizgi ne …

3
Lambda kapatma değerleri, değer referans parametreleri olarak geçirilebilir
lvalueLambda kapaklarının her zaman rvaluefonksiyon parametresi olarak geçebileceğini buldum . Aşağıdaki basit gösterilere bakın. #include <iostream> #include <functional> using namespace std; void foo(std::function<void()>&& t) { } int main() { // Case 1: passing a `lvalue` closure auto fn1 = []{}; foo(fn1); // works // Case 2: passing a `lvalue` function …

3
Lambda fonksiyonunu aşırı yükle
Basit bir yerel lambda işlevi nasıl aşırı yüklenir? Orijinal sorunun SSE'si: #include <iostream> #include <map> void read() { static std::string line; std::getline(std::cin, line); auto translate = [](int idx) { constexpr static int table[8]{ 7,6,5,4,3,2,1,0 }; return table[idx]; }; auto translate = [](char c) { std::map<char, int> table{ {'a', 0}, {'b', …


1
Bir type parametresi neden bir yöntem parametresinden daha güçlü?
Neden ki public <R, F extends Function<T, R>> Builder<T> withX(F getter, R returnValue) {...} o zaman daha katı public <R> Builder<T> with(Function<T, R> getter, R returnValue) {...} Bu, lambda dönüş türünün derleme zamanında neden kontrol edilmediğinin bir takibi . withX()Gibi yöntemi kullanarak buldum .withX(MyInterface::getLength, "I am not a Long") istenen …

3
Birden fazla eşleşen hedef tipine sahip lambda ifadesi için yöntem imza seçimi
Ben yanıtlayan oldu bir sorum ben açıklayamam bir senaryo içine ve ran. Bu kodu düşünün: interface ConsumerOne<T> { void accept(T a); } interface CustomIterable<T> extends Iterable<T> { void forEach(ConsumerOne<? super T> c); //overload } class A { private static CustomIterable<A> iterable; private static List<A> aList; public static void main(String[] args) …
11 java  generics  lambda  javac  ecj 

1
Java-8'de yöntem referansı ve jenerikler
Genel türlerle birlikte yöntem başvurusu ile ilgili sorun yaşıyorum . Aşırı yüklenmiş bir yöntemi çağırmamız gereken kodumuz var, ancak hata ile başarısız oluyor: M1 değeri çözümlenemiyor () Sorunun nerede yattığını netleştirmek için sorunumu basitleştirdim. Aşağıdaki kod başarısız olur: public class Test { void test() { // Getting error here setValue(C1::m1, …
11 java  generics  lambda  java-8 

5
Lambda C ++ üçlü ataması
Aşağıdaki snippet'in neden derlenmediğine dair bir fikriniz var mı? "Hata: operands?: Farklı türleri var" hatasıyla şikayet ediyor auto lambda1 = [&](T& arg) { ... }; auto lambda2 = [&](T& arg) { ... }; auto lambda = condition ? lambda1 : lambda2;

2
Dönüş türünü açıkça belirtmesine rağmen lambda'ya çağrı belirsiz
Aşırı yüklenmiş bir fonksiyon, lambda türünün karar verilebilir olması durumunda std::function( her ikisini de almalı (bir yanıltıcı olursam lütfen beni düzeltin)) Her iki işlevi de almalıdır . tanımlandı? ( [&]() -> Type {}) Mevcut çözümüm için referans yakalamaya ihtiyacım olduğunu, kodun bunun için mantığı içerdiğini lütfen unutmayın. Aşağıdaki örnekte sorun …

6
Java'da verilen harita değerinden en son tarih nasıl bulunur?
Dize veri türü olarak tarih değerlerde, aşağıdaki değerleri ile karma harita yaşıyorum. Haritadaki tüm tarihleri ​​karşılaştırmak ve çok yakın tarihli bir anahtar / değer çiftini ayıklamak istiyorum. Anahtarlarla değil değerlerle karşılaştırmak istiyorum. Aşağıdaki kodu ekledim import java.util.HashMap; import java.util.Map; public class Test { public static void main(String[] args) { Map<String, …

3
Java Stream: Birden çok aralıklı filtre
Bir kaynağı filtrelemek ve bir alana dayalı bazı öğeleri dışlamak çalışıyorum. Hariç tutmak için (hariç tutulması gereken bir kimlik içeren) bir kümem ve bir liste (hariç tutulması gereken kimlikleri birden çok aralık içerir). Aşağıdaki mantığı yazdım ve 2. filtre mantığından memnun değilim. Java 8 ile yapmanın daha iyi bir yolu …

3
C ++ 14'te Init Capture'larla C ++ Lambda Kod Üretimi
Anlamak / özellikle C ++ 14 eklenen genelleştirilmiş init yakalama lambdas yakalanan zaman üretilen kod kodunu açıklamaya çalışıyorum. Aşağıda listelenen aşağıdaki kod örneklerini verin, derleyicinin ne üreteceğine dair şu anki bilgim Durum 1: değere göre yakalama / değere göre varsayılan yakalama int x = 6; auto lambda = [x]() { …
9 c++  lambda  c++14  move 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.