問題タブ [lambda]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonの「ラムダバインディング」とは何ですか?
Python のラムダ関数とは何かは理解していますが、Python のドキュメントを検索しても「ラムダ バインディング」の意味がわかりません。それについて読むためのリンクは素晴らしいでしょう。些細な説明の例はさらに良いでしょう。ありがとうございました。
c# - C# ラムダ式: なぜ使用する必要があるのですか?
Microsoft Lambda Expressionのドキュメントをざっと読みました。
ただし、この種の例は、理解を深めるのに役立ちました。
それでも、なぜこれが革新的なのか理解できません。「メソッド変数」が終了すると死ぬメソッドですよね?実際のメソッドの代わりにこれを使用する必要があるのはなぜですか?
delegates - ラムダ式を説明できますか?
ラムダ式は実際には取得しません。それらはALGOLの時代から存在していましたが、PythonとRubyが非常に人気になったごく最近まで、私はそれらについて聞き始めませんでした。C#に=>
構文が追加されたので、私の世界(.NET)の人々はますますlamdba式について話し合っています。
ラムダ計算に関するウィキペディアの記事を読んだことがありますが、私は実際には数学者ではありません。実用的な観点からはよくわかりません。ラムダ式はいつ使用しますか?なんで?それが私がすべきことだとどうやって知ることができますか?
ラムダ式の問題を前後の形式で解決する方法の例を示していただけますか?命令型言語であれば問題ありませんが、C#が最も理解しやすいでしょう。
c# - 明示的な型コンパレータをインラインで指定できますか?
そのため、.NET 3.0/3.5 では、LINQ で提供されるすべての優れた関数のおかげで、データのクエリ、並べ替え、および操作を行うための新しい方法が多数提供されます。場合によっては、比較演算子が組み込まれていないユーザー定義型を比較する必要があります。多くの場合、比較は非常に単純です -- foo1.key ?= foo2.key のようなものです。型の新しい IEqualityComparer を作成するのではなく、匿名デリゲート/ラムダ関数を使用してインラインで比較を指定することはできますか? 何かのようなもの:
上記は実際には機能しないと確信しています。リンゴとリンゴを比較する方法をプログラムに伝えるためだけに、クラス全体として何かを「重い」ものにする必要はありません。
c# - リスト並べ替え アルファベット順
Framework 3.5 で C# を使用しています。Generic をすばやくソートしたいと考えていList<T>
ます。この例のために、Person
lastname のプロパティを持つ型の List があるとします。ラムダ式を使用してこのリストを並べ替えるにはどうすればよいですか?
ruby - Rubyコードをどのようにストリング化/シリアライズしますか?
Ruby コードにラムダ/Proc を記述し、それをシリアル化してディスクに書き込み、後でラムダを実行できるようにしたいと考えています。みたいな...
後で、Ruby インタープリターの別の実行で、私は言うことができるようにしたい.
Marshal.dump は Procs では機能しません。Perl にData::Dump::Streamerがあることは知っていますが、Lisp ではこれは些細なことです。しかし、Rubyでそれを行う方法はありますか? 言い換えれば、の実装は何でしょうか?save
_
for_
later
編集:以下の私の答えはいいですが、自由変数( など)を閉じずx
、ラムダとともにそれらをシリアル化します。だから私の例では...
... 文字列出力に の定義が含まれていませんx
。おそらくシンボルテーブルをシリアル化することによって、これを考慮した解決策はありますか? Rubyでアクセスできますか?
編集 2 : シリアル化されたローカル変数を組み込むように回答を更新しました。これは許容できるようです。
c# - より読みやすいものは何ですか?
これら 2 つのコードがありますが、どちらが読みやすいですか?
foreach
/li>リンク
/li>
c# - VB.Netでラムダイベントハンドラを宣言するには?
次の VB.Net コードは、前述の C# コードと同等のものだと思います。ただし、VB.Net テストは失敗します。Lambda を処理するイベントは呼び出されません。
何が起こっている?
VB.Net バージョン - 失敗:
C# バージョン - パス:
c - 関数ポインタ、クロージャ、ラムダ
私はちょうど今、関数ポインタについて学んでいます。このテーマに関する K&R の章を読んでいるときに、最初に私を襲ったのは、「ねえ、これはクロージャのようなものだ」ということでした。この仮定が根本的に間違っていることはわかっていましたが、オンラインで検索した後、この比較の分析は実際には見つかりませんでした.
では、C スタイルの関数ポインターがクロージャーやラムダと根本的に異なるのはなぜでしょうか? 私が知る限り、匿名で関数を定義するのではなく、関数ポインターがまだ定義済みの (名前付きの) 関数を指しているという事実に関係しています。
関数に関数を渡すと、関数に名前が付けられていない 2 番目のケースの方が、通常の日常的な関数が渡される最初のケースよりも強力であると見なされるのはなぜですか?
この 2 つを厳密に比較することがなぜ間違っているのか、どのように間違っているのか教えてください。
ありがとう。
c# - C#またはJavaにラムダがある理由は何ですか?
C#またはJavaにラムダがある理由は何ですか? どちらの言語もそれらに基づいていません。C# が既に行ったのと同じことを行うための別のコーディング方法のようです。
私は対立しているわけではありません。理由がある場合は、その理由を知りたいです。完全な開示の目的のために、私は C++ のバックグラウンドを持つ Java プログラマーであり、Lisp の経験はありません。要点を見逃しているだけかもしれません。