タグ付けされた質問 「lambda」

AWSサービスには使用しないでください(これらの質問には[aws-lambda]を使用してください!)ラムダは、Lisp、C#、C ++、Lua、Python、Ruby、JavaScript、Javaなどのプログラミング言語の匿名関数またはクロージャです。(また、ラムダ式。)

8
const参照としてのラムダキャプチャ?
ラムダ式でconst参照によってキャプチャすることは可能ですか? 以下にマークされている割り当てを失敗させたい、例えば: #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], [&best_string](const string& s) { best_string = s; // this should fail } ); return …
166 c++  c++11  lambda  c++14 


16
.Netのラムダ式で使用されている「=>」を発音するには
他のプログラマーに会うことはほとんどありません! トークンを最初に見たときの私の考えは、「それを暗示する」ことでした。それは、それが数学的な証明でそれを読み取るものだからですが、明らかにそれは意味がありません。 だから私はどのように言うか「=>」のように読みます: IEnumerable<Person> Adults = people.Where(p => p.Age > 16) それとも、合意された言い方さえありますか?
160 c#  .net  lambda  conventions 

6
Java8でラムダを使用してnullでない場合にのみ値をフィルタリングする
私は言うオブジェクトのリストがありますcar。Java 8を使用して、いくつかのパラメーターに基づいてこのリストをフィルター処理したいのですが、パラメーターがの場合はnull、がスローされNullPointerExceptionます。null値を除外する方法は? 現在のコードは次のとおりです requiredCars = cars.stream().filter(c -> c.getName().startsWith("M")); これはスローNullPointerExceptionあればgetName()リターンnull。

5
ラムダをシリアル化する方法は?
ラムダをエレガントにシリアル化するにはどうすればよいですか? たとえば、次のコードはをスローし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 serialized?"); oo.writeObject(r); } try (ObjectInput oi = new ObjectInputStream(new FileInputStream(file))) { Runnable r = (Runnable) oi.readObject(); r.run(); } }

6
Javaラムダは複数のパラメーターを持つことができますか?
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 += i; } return sum; }; //.... System.out.println ((multiAdder.apply (new Integer [] { 1, …
157 java  lambda  java-8 

6
ラムダでキャプチャを移動
C ++ 11ラムダで移動(右辺値参照とも呼ばれます)でキャプチャするにはどうすればよいですか? 私はこのようなものを書こうとしています: std::unique_ptr<int> myPointer(new int); std::function<void(void)> example = [std::move(myPointer)]{ *myPointer = 4; };

10
Java 8で使用される機能インターフェースは何ですか?
私はJava 8で「機能的インターフェース」という新しい用語に出会いました。ラムダ式で作業しているときに、その使用法を1つしか見つけることができませんでした。 Java 8にはいくつかの組み込みの関数型インターフェースが用意されており、関数型インターフェースを定義したい場合は、@FunctionalInterfaceアノテーションを利用できます。これにより、インターフェイスで単一のメソッドのみを宣言できます。 例えば: @FunctionalInterface interface MathOperation { int operation(int a, int b); } ラムダ式を操作するだけでなく、Java 8でどれほど便利ですか? (ここでの質問は、私が尋ねたものとは異なります。ラムダ式を操作するときに関数型インターフェースが必要な理由を尋ねています。私の質問は、ラムダ式以外に関数型インターフェースに他の用途がある理由は何ですか。)
154 java  lambda  interface  java-8 


5
LINQ式のString.IsNullOrWhiteSpace
私は次のコードを持っています: 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)を使用したスト​​リームの圧縮
ラムダb93を使用するJDK 8では、ストリームを圧縮するために使用できるクラスjava.util.stream.Streams.zipがb93にありました(これは、チュートリアル「Java8ラムダを探索する」で説明されています。DhananjayNeneによるパート1)。この機能: 2つのストリームの要素を組み合わせた結果を要素とする、レイジーで順次結合されたStreamを作成します。 ただし、b98ではこれがなくなりました。実際には、Streamsクラスはb98のjava.util.streamでさえアクセスできません。 この機能は移動されましたか。移動されている場合、b98を使用してストリームを簡潔に圧縮するにはどうすればよいですか? 私が考えているアプリケーションは、このShenのJava実装にあります。 static <T> boolean every(Collection<T> c1, Collection<T> c2, BiPredicate<T, T> pred) static <T> T find(Collection<T> c1, Collection<T> c2, BiPredicate<T, T> pred) (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() { return 0; } これはエラーです: error C3480: 'puzzle::grid': …

3
foreach、lambdaを使用したarray_map、static関数を使用したarray_mapのパフォーマンス
配列を別の配列に変換するために使用されるこれら3つのアプローチのパフォーマンスの違いは(ある場合)何ですか? 使用する foreach array_mapラムダ/クロージャー機能で使用する array_map「静的」関数/メソッドで使用する 他のアプローチはありますか? 私自身を明確にするために、例を見てみましょう。すべて同じことを行います-数値の配列に10を乗算します。 $numbers = range(0, 1000); Foreach $result = array(); foreach ($numbers as $number) { $result[] = $number * 10; } return $result; ラムダ付きの地図 return array_map(function($number) { return $number * 10; }, $numbers); 文字列参照として渡される「静的」関数を使用したマップ function tenTimes($number) { return $number * 10; } return array_map('tenTimes', $numbers); …

4
Java 8でのSpliterator、Collector、Streamについて
StreamJava 8 のインターフェースを理解するのに問題がSpliteratorありCollectorます。特に、とインターフェースに関係しているところです。私の問題はSpliterator、Collectorインターフェイスとインターフェイスをまだ理解できないことStreamです。その結果、インターフェイスはまだ少しあいまいです。 正確にはa Spliteratorとa は何Collectorですか?どのように使用できますか?私が自分で(SpliteratorまたはCollectorおそらくStreamそのプロセスで自分自身を)書こうと思っている場合、私は何をすべきで、何をすべきではありませんか? ウェブ上に散らばっているいくつかの例を読みましたが、ここにあるすべてのものはまだ新しく、変更される可能性があるため、例やチュートリアルはまだ非常にまばらです。

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; else return term(a) + sum(next(a),b); }; int main(){ std::cout<<sum(1,10)<<std::endl; return 0; } …
143 c++  c++11  lambda 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.