問題タブ [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.

0 投票する
9 に答える
1237 参照

c# - .NETがローカル変数を「持ち上げる」のを防ぐ

私は次のコードを持っています:

コンパイラがプレフィックス変数をクロージャに置き換えるため、「NEW:brownie」がコンソールに出力されます。

ラムダ式を使用しているときにコンパイラーがプレフィックス変数を持ち上げないようにする簡単な方法はありますか?Funcを次のように機能させる方法が必要です。

これが必要な理由は、結果のデリゲートをシリアル化したいからです。プレフィックス変数がシリアル化できないクラスにある場合、上記の関数はシリアル化されません。

現時点で私が見ることができるこれを回避する唯一の方法は、文字列をメンバー変数として格納し、文字列の先頭に追加するメソッドを持つ新しいシリアル化可能なクラスを作成することです。

ヘルパークラスあり:

これは、コンパイラを「ダム」にするための多くの余分な作業のようです。

0 投票する
6 に答える
26652 参照

linq - 動的 LINQ と動的ラムダ式?

LINQ クエリと Lambda 式を動的に記述する最良の方法は何ですか?

私は、エンド ユーザーがビジネス ロジック ルールを設計し、実行する必要があるアプリケーションを考えています。

これが初心者の質問である場合は申し訳ありませんが、経験からベスト プラクティスを得ることができれば幸いです。

0 投票する
3 に答える
19228 参照

vb.net - VB.NET のパラメーターとしてのデリゲート

バックストーリー: 現在取り組んでいるプロジェクトのすべてのロギングを処理するためにlog4netを使用しています。ある特定のメソッドは、いくつかの異なる状況下で呼び出すことができます。ログ メッセージがエラーであることを保証するものもあれば、ログ メッセージが警告であることを保証するものもあります。

例として

次の行に沿って、さらに何かに:

それを呼び出して、log.ErrorFormat または log.WarnFormat のいずれかをデリゲートとして渡すことができるようにするには?

VS 2008 および .NET 3.5 SP1 で VB.NET を使用しています。また、私は一般的にデリゲートにはかなり慣れていないので、あいまいさを取り除くためにこの質問を別の言葉で表現する必要がある場合は、お知らせください。

編集: また、クラス コンストラクターでデリゲートを ErrorFormat または WarnFormat に初期化するにはどうすればよいですか? それは簡単myDelegate = log.ErrorFormatですか?それ以上のことがあると思います (この件に関する私の無知を許してください - デリゲートは本当に私がもっと学びたいものですが、これまでのところ私の理解を逃れています)。

0 投票する
5 に答える
32915 参照

c# - 一般的なLINQクエリ述語?

これが可能かどうか、または探しているものを正しく表現しているかどうかはわかりませんが、ライブラリに次のコードが繰り返しあり、DRYを練習したいと思います。Googleの単純なユーザー指定の検索フィールドに基づいてクエリを実行しているSQLServerテーブルのセットがあります。LINQを使用して、検索文字列の内容に基づいて最終的なクエリを作成しています。ジェネリックスを使用し、ラムダ関数を渡して、これから再利用可能なルーチンを作成する方法を探しています。

次のようなシグネチャを持つジェネリックメソッドを作成したいと思っていました。

私はすべてのテーブルで同じ検索戦略を使用しているため、使用法ごとに実際に異なるのは、検索されたMyTableとMyTableEntityと検索されたFieldNameだけです。これは意味がありますか?LINQを使用して、where句でクエリするフィールドの名前を動的に渡す方法はありますか?または、これを述語ラムダとして渡すことはできますか?

SQLでこれを行うには、おそらくもっと簡単な方法が100万通りあることを私は理解していますが、これのためにLINQファミリーのすべてを維持したいと思います。また、このような問題にはジェネリックスが便利だと思います。何か案は?

0 投票する
16 に答える
79757 参照

python - ラムダ関数とネストされた関数 ('def') のどちらを使用するのがより望ましいですか?

私は主にラムダ関数を使用しますが、同じ動作を提供するように見えるネストされた関数を使用することもあります。

どちらかが別の関数内で見つかった場合、機能的に同じことを行ういくつかの簡単な例を次に示します。

ラムダ関数

ネストされた関数

どちらか一方を使用する利点はありますか? (パフォーマンス? 読みやすさ? 制限? 一貫性? など)

それも問題ですか?そうでない場合は、Pythonic の原則に違反しています。

それを行う明白な方法が 1 つ (できれば 1 つだけ) ある必要があります。.

0 投票する
5 に答える
11656 参照

c# - プロパティまたは引数としての C# ラムダ式またはデリゲート

エンティティ型オブジェクトのプロパティを検証する ValidationRule クラスを作成しようとしています。検査するプロパティの名前を設定してから、オブジェクトが IsValid() メソッドを実行するときに実行時に評価されるデリゲートまたはラムダ式をクラスに与えたいと思います。このようなもののスニペット、または匿名メソッドを引数またはプロパティとして渡す方法に関するアイデアはありますか?

また、私が達成しようとしていることを説明しているかどうかわからないので、明確でない場合は質問してください。

0 投票する
4 に答える
2594 参照

python - Difflib.SequenceMatcher isjunkオプションのパラメータクエリ:空白、タブ、空の行を無視する方法は?

Difflib.SequenceMatcherを使用して、2つのファイル間の類似性を計算しようとしています。これらの2つのファイルは、1つに余分な空白、空の行が含まれ、他のファイルには含まれないことを除いて、ほとんど同じです。使用しようとしています

この目的のために。

したがって、問題は、このisjunkメソッドのラムダ式をどのように記述してSequenceMatcherメソッドがすべての空白、空の行などを割り引くかです。パラメーターlambda x:x == ""を使用しようとしましたが、結果はそうではありません。素晴らしい。よく似た2つのテキストの場合、比率は非常に低くなります。これは非常に直感的ではありません。

テストの目的で、テストに使用できる2つの文字列を次に示します。

jwovuがあなたの仕事をうまくやる動機は何ですか?OK、これは私が読んでいないという事実にもかかわらず、100ドル相当のソフトウェア開発の本を獲得しようとしているエントリです

プログラミングの本。賞品を獲得するには、エントリーと
、fggmumが仕事を上手くやる動機を書く必要があります。したがって、この投稿。最初の動機

お金。これは多くの人にとって大きなインスピレーションのようには思えません。お金がモチベーションの要因の1つであると言うことは、私のチャンスを吹き飛ばすかもしれません。

まるでお金がプログラミングの世界ではタブーであるかのように。お金でやる気が出ない人もいると思います。一方、Mmeは現実の世界に住んでいます。

住宅ローンを支払い、私自身が食事をし、請求書をカバーします。ですから、私は自分の検討からお金を本当に除外することはできません。のために多額のお金を得ることができれば

良い仕事をして、それから間違いなく私の士気を高めます。古いワークステーションを使用しているのか、部屋やキュービクルを他の人と共有することを余儀なくされているのかは気にしません

人々、または迷惑な上司、または何でも我慢する必要があります。一日の終わりに私がたくさんのお金を持って立ち去るという事実自体で十分です

私がすべての障害を克服し、すべての困難な感情に耐え、エゴを傷つけ、遅いコンピューターに耐え、さらには耐えることができるように

そして、ここに別の文字列があります

仕事を上手くやる動機は何ですか?OK、これは私がプログラミングの本を読んでいないという事実にもかかわらず、100ドル相当のソフトウェア開発の本を獲得しようとしているエントリです。賞品を獲得するには、エントリーを作成し、仕事を上手くやる動機を説明する必要があります。したがって、この投稿。

最初の動機、お金。これは多くの人にとって大きなインスピレーションのようには思えません。お金がモチベーションの要因の1つであると言うことは、私のチャンスを吹き飛ばすかもしれません。まるでお金がプログラミングの世界ではタブーであるかのように。お金でやる気が出ない人もいると思います。彼らへの称賛。一方、私は現実の世界に住んでおり、住宅ローンを支払い、自分自身を養い、請求書をカバーしています。ですから、私は自分の検討からお金を本当に除外することはできません。

良い仕事をするために多額のお金を稼ぐことができれば、それは間違いなく私の士気を高めるでしょう。古いワークステーションを使用しているのか、部屋やキュービクルを他の人と共有することを余儀なくされているのか、迷惑な上司に我慢しなければならないのか、などは気にしません。一日の終わりに私がたくさんのお金を持って立ち去るという事実は、私がすべての障害を克服し、すべての困難な感情に耐え、エゴを傷つけ、遅いコンピューターに耐え、さらには耐えるのに十分です

上記のコマンドを実行し、isjunkをlambda x:x==""に設定しました。比率はわずか0.36です。

0 投票する
7 に答える
16847 参照

language-agnostic - ラムダとは?

誰かがラムダとは何かをうまく説明できますか? それらのタグがあり、それらは C# の秘密の質問にありますが、そもそもそれらが何であるかについての適切な定義と説明をまだ見つけていません。

0 投票する
6 に答える
8855 参照

c# - Lambda/LINQ でのリストの結合

タイプの変数がIEnumerable<List<string>>ある場合、それに適用できる LINQ ステートメントまたはラムダ式はありますIEnumerable<string>か?

0 投票する
4 に答える
1624 参照

c# - Explain x => x.ToString() //非常に多くの呼び出しを簡素化

質問の回答で、次のコーディングのヒントを見つけました:-

2) パラメータが 1 つの単純なラムダ式:

3.0 をまだ使用していない私は、このヒントをよく理解していませんが、面白そうに見えるので、いくつかの例を挙げて、これがどのように呼び出しを簡素化するかを拡張していただければ幸いです。

ラムダについて調べたので、ラムダが何をするかはわかっていると思いますが、完全には理解していない可能性があるため、少し開梱することも必要かもしれません。