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

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

6
C#では、モナドとは何ですか?
最近、モナドについて多くの話題があります。私はいくつかの記事/ブログの投稿を読みましたが、コンセプトを完全に理解するのに十分なほど例を挙げられません。その理由は、モナドは関数型言語の概念であり、したがって、例は私が使用していない言語に含まれているためです(関数型言語をあまり使用していないため)。記事を完全に理解するのに十分なほど構文を理解することはできません... ただし、ラムダ式やその他の関数型機能を含め、C#についてはよく知っています。C#には機能的な機能のサブセットしかないため、モナドをC#で表現できない可能性があります。 しかし、確かにコンセプトを伝えることは可能でしょうか?少なくとも私はそう願っています。おそらく、C#の例を基礎として提示し、C#開発者がそこから実行できることを望むが、言語には関数型プログラミング機能が不足しているために説明できないかもしれません。モナドの意図と利点を伝えるため、これは素晴らしいことです。だから私の質問です:モナドをC#3開発者に与えることができる最良の説明は何ですか? ありがとう! (編集:ちなみに、SOには既に「モナドとは何か」という質問が少なくとも3つあることは知っています。しかし、私はそれらについて同じ問題に直面しています...したがって、C#開発者のため、この質問はimoに必要ですフォーカス。ありがとう。)
189 c#  c#-3.0  lambda  monads 

9
Java 8ラムダVoid引数
Java 8に次の機能インターフェースがあるとします。 interface Action<T, U> { U execute(T t); } そして、いくつかのケースでは、引数や戻り値のないアクションが必要です。だから私はこのようなものを書きます: Action<Void, Void> a = () -> { System.out.println("Do nothing!"); }; しかし、それは私にコンパイルエラーを与えます、私はそれを次のように書く必要があります Action<Void, Void> a = (Void v) -> { System.out.println("Do nothing!"); return null;}; 醜いです。Void型パラメーターを取り除く方法はありますか?
188 java  lambda  java-8  void 

9
Java SE 8にはペアまたはタプルがありますか?
Java SE 8で遅延関数操作をいじってmapいます。iペア/タプルへのインデックスを作成し(i, value[i])、次にfilter2番目のvalue[i]要素に基づいて、最後にインデックスのみを出力します。 私はまだこれに苦しむ必要があります:JavaのC ++ Pair <L、R>に相当するものは何ですか?ラムダとストリームの大胆な新時代に? 更新:かなり単純化した例を紹介しました。これには、@ dkatzelが提供するきちんとしたソリューションが含まれています。ただし、一般化されません。したがって、より一般的な例を追加します。 package com.example.test; import java.util.ArrayList; import java.util.stream.IntStream; public class Main { public static void main(String[] args) { boolean [][] directed_acyclic_graph = new boolean[][]{ {false, true, false, true, false, true}, {false, false, false, true, false, true}, {false, false, false, true, false, true}, …


3
ラムダ式は、実行されるたびにヒープ上にオブジェクトを作成しますか?
次のようなJava 8の新しい構文シュガーを使用してコレクションを反復処理すると、 myStream.forEach(item -> { // do something useful }); これは、以下の「古い構文」スニペットと同等ではありませんか? myStream.forEach(new Consumer<Item>() { @Override public void accept(Item item) { // do something useful } }); これはConsumer、コレクションを反復処理するたびに、新しい匿名オブジェクトがヒープ上に作成されることを意味しますか?これにはどのくらいのヒープ領域が必要ですか?パフォーマンスにどのような影響がありますか?大規模なマルチレベルのデータ構造を反復処理するときに、ループに古いスタイルを使用する必要があるということですか?
182 java  lambda  java-8 

9
Java8ラムダを使用してストリームを逆順にソートする方法は?
リストをソートするためにjava lambdaを使用しています。 逆に並べ替えるにはどうすればよいですか? この投稿を見ましたが、Java 8ラムダを使用したいと思います。 これがハックとしての私のコードです(私は* -1を使用しました)。 Arrays.asList(files).stream() .filter(file -> isNameLikeBaseLine(file, baseLineFile.getName())) .sorted(new Comparator<File>() { public int compare(File o1, File o2) { int answer; if (o1.lastModified() == o2.lastModified()) { answer = 0; } else if (o1.lastModified() > o2.lastModified()) { answer = 1; } else { answer = -1; } return …

6
'key'とラムダ式を使用したpython max関数
私はOOPの出身で、Pythonを学ぼうとしています。私が使っているmax型のインスタンスを返すために、ラムダ式を使用する関数Player極大を有するtotalScoreリストの中にplayers。 def winner(): w = max(players, key=lambda p: p.totalScore) 関数はPlayer、最大値を持つ型のインスタンスを正しく返しますtotalScore。次の3つについて混乱しています。 max関数はどのように機能しますか?それが取っている議論は何ですか?ドキュメントを見ましたが、理解できませんでした。 keymax関数でのキーワードの使用とは何ですか?私はそれがsort機能のコンテキストでも使用されていることを知っています ラムダ式の意味?それらを読むには?それらはどのように機能しますか? これらはすべて非常に初心者向けの概念的な質問ですが、言語の理解に役立ちます。あなたが説明する例を与えることができればそれは助けになるでしょう。ありがとう
180 python  function  lambda 

4
ローカル関数とLambda C#7.0
C#7.0の新しい実装を見ていて、ローカル関数が実装されているのは興味深いのですが、ローカル関数がラムダ式よりも優先されるシナリオと、その2つの違いは想像できません。 ラムダはanonymous関数ですがローカル関数はそうでないことを理解していますが、ローカル関数がラムダ式よりも優れている実際のシナリオを理解できません どんな例でも大歓迎です。ありがとう。
178 c#  function  lambda  c#-7.0 

3
Pythonでラムダを使用して並べ替える方法
Pythonでは、ラムダを使用して日付で並べ替えようとしています。エラーメッセージを理解できません。メッセージは次のとおりです。 <lambda>() takes exactly 1 argument (2 given) 私が持っているラインは a = sorted(a, lambda x: x.modified, reverse=True)
178 python  lambda 

11
空のクエリの場合の最大戻り値
私はこのクエリを持っています: int maxShoeSize = Workers .Where(x => x.CompanyId == 8) .Max(x => x.ShoeSize); maxShoeSize会社8に労働者がまったくいない場合はどうなりますか? 更新: 例外ではなく0を取得するためにクエリを変更するにはどうすればよいですか?

7
文字列を同等のLINQ式ツリーに変換する方法は?
これは、元の問題を簡略化したバージョンです。 Personというクラスがあります。 public class Person { public string Name { get; set; } public int Age { get; set; } public int Weight { get; set; } public DateTime FavouriteDay { get; set; } } ...そしてインスタンスを言うことができます: var bob = new Person { Name = "Bob", Age = 30, Weight = …
173 c#  lambda  antlr  dsl  predicate 

5
ラムダ式ではrefまたはoutパラメータを使用できません
ラムダ式でrefまたはoutパラメーターを使用できないのはなぜですか? 今日エラーに遭遇し、回避策を見つけましたが、なぜこれがコンパイル時エラーであるのかまだ知りませんでした。 CS1628:匿名メソッド、ラムダ式、またはクエリ式内で参照または出力パラメーター 'parameter'を使用できません 以下に簡単な例を示します。 private void Foo() { int value; Bar(out value); } private void Bar(out int value) { value = 3; int[] array = { 1, 2, 3, 4, 5 }; int newValue = array.Where(a => a == value).First(); }
172 c#  lambda 

2
なぜラムダは単純な関数よりもコンパイラによって最適化できるのですか?
彼の本の中でThe C++ Standard Library (Second Edition)Nicolai Josuttisは、ラムダは単純な関数よりもコンパイラによってより最適化できると述べています。 さらに、C ++コンパイラは、通常の関数よりもラムダを最適化します。(213ページ) 何故ですか? インライン化に関しては、これ以上何の違いもないはずだと思いました。私が考えることができる唯一の理由は、コンパイラーがラムダを使用したより良いローカルコンテキストを持っている可能性があり、そのようなことがより多くの仮定を行い、より多くの最適化を実行できるためです。

15
Java 8:Lambda-Streams、例外付きのメソッドでフィルター
Java 8のLambda式を試してみるのに問題があります。通常は問題なく動作しますが、今ではをスローするメソッドがありIOExceptionます。次のコードを確認すると最適です。 class Bank{ .... public Set<String> getActiveAccountNumbers() throws IOException { Stream<Account> s = accounts.values().stream(); s = s.filter(a -> a.isActive()); Stream<String> ss = s.map(a -> a.getNumber()); return ss.collect(Collectors.toSet()); } .... } interface Account{ .... boolean isActive() throws IOException; String getNumber() throws IOException; .... } 問題は、コンパイルされないことです。これは、isActive-およびgetNumber-Methodsの起こり得る例外をキャッチする必要があるためです。しかし、以下のようにtry-catch-Blockを明示的に使用しても、例外をキャッチしないため、コンパイルされません。したがって、JDKにバグがあるか、これらの例外をキャッチする方法がわかりません。 class Bank{ .... //Doesn't compile …

5
LINQ:「含む」とLambdaクエリ
とList<BuildingStatus>呼ばれていbuildingStatusます。文字コード(によって返されるGetCharCode())がある変数に等しいステータスが含まれているかどうかを確認したいのですが、v.Status。 以下の(非コンパイル)コードの行に沿ってこれを行う方法はありますか? buildingStatus.Contains(item => item.GetCharValue() == v.Status)
168 c#  .net  list  linq  lambda 

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