問題タブ [anonymous-function]

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 投票する
16 に答える
3368 参照

recursion - *再帰的*関数リテラル/無名関数をサポートする言語は?

最近では、かなりの数の主流言語が関数リテラルをサポートしているようです。無名関数とも呼ばれますが、名前があっても構いません。重要なことは、関数リテラルは、他の場所でまだ定義されていない関数を生成する式であるため、たとえば C では&printfカウントされないということです。

追加する編集:本物の関数リテラル式がある場合は、それを関数に渡すか、すぐに引数に適用<exp>できるはずです。.f(<exp>)<exp>(5)

recursiveである関数リテラルを記述できる言語はどれか知りたいです。ウィキペディアの「匿名再帰」の記事には、プログラミングの例はありません。

再帰的階乗関数を例として使用しましょう。

ここに私が知っているものがあります:

  • JavaScript / ECMAScript でそれを行うことができますcallee:

    /li>
  • を使用する言語では簡単ですletrec。たとえば、Haskell (これはそれを呼び出しますlet):

    let fac x = if x<2 then 1 else fac (x-1) * x in fac

    LispとSchemeにも同等のものがあります。のバインディングはfac式に対してローカルであるため、式全体が実際には無名関数であることに注意してください。

他にもありますか?

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

javascript - この構造を JavaScript でどのように説明しますか?

この種の構文の特別な点は何ですか? ()(); とは何ですか? 意味する?

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

javascript - Firefox Javascript イベント匿名関数

ユーザーが HTML テーブルのセルをクリックしたときに匿名関数を登録しようとしています。生の、純粋なコードの一部を次に示します。

evalこれはループ内にあり、無名関数は毎回異なるため、 の使用に注意してください。

これは、Firefox 2 ではまったく問題なく動作します。しかし、Firefox 3 では、「関数」という単語の後の括弧内を指す「構文エラー」がスローされます。

これを修正する方法について、誰かが賢いアイデアを持っていますか?


私がやろうとしていることを明確にするために、非常に単純化された例を次に示します。

つまり、同じ関数を、それぞれに異なるパラメーター値でトリガーしたいと考えていますdiv

0 投票する
2 に答える
423 参照

scala - Scalaの無名関数内で値をバインドするための構文糖衣はありますか?

書く代わりに

のようなものを書きたいと思います

Scala にこの種のシンタックス シュガーのようなものはありますか?

0 投票する
2 に答える
8329 参照

anonymous-function - Firefox: 匿名の JavaScript 関数からイベントを渡す

この省略されたコードでは、インライン イベントが機能します。「イベント」は testKeyPress 関数に渡されます。

ただし、この匿名バージョンでは、イベントは gecko で渡されません。

関数自体のイベントをどのように渡すのですか?

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

javascript - パラメータを使用して関数への参照を渡すにはどうすればよいですか?

重複の可能性:
JavaScript 関数呼び出しで引数を事前に設定するにはどうすればよいですか? (部分機能適用)

指定された一連のパラメーターを持つ関数への参照を渡すことができる必要があります。

パラメータなしで参照を渡す例を次に示します。

次に、同じf関数を渡す必要がありますが、今回はパラメーターを参照に渡す必要があります。今、私は無名関数でそれを行うことができ、次fのように、新しく作成された関数内のパラメーターを使用して関数を呼び出すことができます。

しかし、私の質問は、パラメータを使用して関数への直接参照を渡す方法はありますが、匿名関数で囲むことはありませんか?ffr

が呼び出されたときに f(1,2,3) が実行されるように、frパラメーター ( ) なしで呼び出し可能にするには、何を割り当てる必要がありますか?fr()fr

[UPDATE]私はジェイソン・バンティングの部分関数についてのここへの回答 に従いました。彼がそこに投稿した JavaScript 関数はまさに私が探していたものです。解決策は次のとおりです。

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

javascript - javascriptの値で無名関数を渡しますか?

匿名関数を引数として受け取り、参照用に変数(スコープ)に設定する関数があります。次に、その参照を使用して別の関数を実行しようとしましたが、その関数がスコープ外であるため、明らかに失敗します。

スコープの問題を回避して、匿名関数を匿名関数として直接渡す簡単な方法を誰かが知っているかどうか疑問に思いましたか?

編集:明確にするために、el要素は関数が引数リストから分離された後に定義されます。さらに、el要素も引数リストの一部です。このコードを私だけが使用する場合は、2つの引数リストを使用し、2番目の引数は配列またはハッシュオブジェクトである可能性がありますが、残念ながら、このコードはJSやコーディングにあまり詳しくない人によって使用される予定です。そのことについては。

助けてくれてありがとう!

これが私のコードの関連部分です:

これは省略されているので、elが定義されていることを信頼してください。JAS.Globals.eventListenは、単なるインテリジェントなaddEventListenerです。

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

matlab - MATLAB 匿名関数で複数のステートメントを実行する方法は?

私はこのようなことをしたいと思います:

だから私が言ったとき:

実行functionCall1()してから実行しfunctionCall2()ます。( C , 演算子のようなものが必要だと感じています)

編集:

functionCall1functionCall2必ずしも値を返す関数ではありません。

0 投票する
1 に答える
133 参照

apache-flex - 個々のデータを持つ任意の数の匿名ローダー ハンドラー?

AIR アプリにロードする必要がある任意の数のファイルがあります。

File オブジェクトの配列を反復処理し、それぞれの File.url のローダーを作成して起動したいと考えています。

それらが完了したら (イベント COMPLETED または IOErrorEvent.IO_ERROR)、データをどこかに詰め込みたいと思います。失敗した場合は、例外レポートを作成したいと思います。イベントリスナーから File オブジェクトを参照する方法が見つかりません (確かに IO_ERROR ではありません)。

最善の方法は、ファイル情報が「ハードコーディング」されたランチャーごとに個別のイベント ハンドラーを作成することです。少なくとも、関数自体を Dictionary へのインデックスとして使用できます。

event.currentTaget を使用して、Loader インスタンスをインデックスとして使用できますか? それには奇妙な依存関係がありますか?

乾杯

0 投票する
11 に答える
11748 参照

c# - FieldName をパラメーターとして渡す

私が何をしようとしているのかよくわからないので、グーグルから手がかりを見つけるのに苦労しています。

同じロジックを持つメソッドがいくつかありますが、唯一の違いは、オブジェクトで使用しているプロパティです。

I want oneの 3 つの個別のメソッドの代わりに、Fooより類似したシグネチャを使用します。

これは可能ですか?