問題タブ [function-object]

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

c++ - std::vector の要素へのポインタ

私は次のようなものを持っています

このセグメント障害。申し訳ありませんが、これ以上単純にすることはできません。これが最も単純で、実際のコードに最も近いものです。関数オブジェクトへのポインターのベクトルが必要です。私の推測では、マークされた行は//here無効なポインターを送信していますが、それ以外はまだこれを理解しようとしています。

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

scala - Scala トレイトと関数オブジェクト

私は遊びを学び始めています。

そして、私は Action がどのように実装されているかを理解しようとしています。私は言語構造を理解していないだけで、本当にイライラします.....

どのように書くことができるのかわかりませんか?

val echo = アクション { リクエスト => Ok("リクエストを受け取りました [" + リクエスト + "]") }

そして、それをコンパイルします....それはどのような構造ですか?それは、関数をパラメーターとして取るケースクラスになるでしょう、私は持っているかもしれません.....

しかし、ここにhttps://github.com/playframework/playframework/blob/master/framework/src/play/src/main/scala/play/api/mvc/Action.scalaのアクションの定義があります

基本的に、Action は、Essential アクションから取得された適用とそれ自体が定義するものによって、requestHeader または Request のいずれかを取る関数オブジェクト Trait であると述べています....

私はそれを自分で再現することはできません.コンパイルされない単純なケースでは、それは非常に奇妙です....

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

c++ - MyClass x(y); を理解する ここで、y は MyClass 型です

演習の一部である次のコードがあります(ここで質問しました)。

コードがコンパイルされて実行されます (関連する部分をここに置くのを忘れていなければ)。ラインを理解したい

MyInt を入力するコンストラクターはありません。パラメーターを持たないコンストラクターと、int を入力するコンストラクターのみです。MyInt には operator() の定義がありません。

コンピューターはその行で何をしているのですか?

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

c++ - for_each メソッドで独自のクラスの関数を使用するには?

このクラスがあるとします (std::Vector から継承されています。これは単なる例です)。

クラス自体の中でクラスメソッドを使用して for_each を呼び出すにはどうすればよいですか? static キーワードを使用できることはわかっていますが、 static を使用せずに関数オブジェクトを使用する方法は他にありますか?

コンパイル中に次のエラー メッセージが表示されます。

for_each.cc:21:55: エラー: 'C::transformation' を型 'void (C::)(double)' から型 'void (C::*)(double)' に変換できません for_each(this-> begin(), this->end(), 変換);

.*またはどこかに追加する必要があると思います->*が、場所と理由がわかりません。

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

c++ - 関数オブジェクトの扱い

std::sortCompare クラスでパラメータ化されたテンプレートです。関数自体は、そのクラスのオブジェクトを引数として取り、それを「呼び出し」て、並べ替えられるコンテナーの要素を比較します。

単純に sort に Compare オブジェクト自体を構築させるのではなく、具体的なオブジェクトを sort に与えることが重要であると思います。(そうでない場合は、私を修正してください。)

fooここで、入力として avector<T>と の比較関数を受け取る関数を実装したいとしますT

この実装の一部として、Tとのペアを含む別のベクトルをソートしたいと考えています。intつまり、 a をソートしvector<pair<T, int>>ます。Tしかし、コンポーネントのみに基づいてこのベクトルをソートしたいと考えています。つまり、指定さTれた注文を の注文に持ち上げて、それを にpair<T, int>渡したいということですstd::sort

ラムダを使用せずにこれを行うにはどうすればよいですか? 私の問題は、 のオブジェクトをのCompare オブジェクトに持ち上げる方法が見つからないことTですpair<T, int>Compare クラスを持ち上げてからそのオブジェクトを構築することしかできません。つまり、その引数fooは完全に無視されます。comp

ありがとう。

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

javascript - 関数オブジェクトのプロパティに関数を割り当てる

次のように定義された JavaScript 関数オブジェクトがあります。

関数を自由にオブジェクトに注入できるようにしたい。

関数をそのプロパティに設定すると、関数はオブジェクト プロパティに割り当てられず、次のように表示されundefinedます。

私は単にそれについてすべて間違っていますか?私が使用すべきより良いパターンはありますか?


解決

コメントと回答を読んだ後、問題はオブジェクトの値を上書きしていたことにあることに気付きましたAPI:オブジェクトのハンドラー変数を設定していません。これは最小限の作業例です:

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

python - 状態を保持する動的関数を作成する

パイソン初心者の質問です。何らかの状態を保持する関数を動的に作成したいとします (整数 i の下のコード内)。定義された関数はオブジェクトなので、後で使用できます。次のコードでは、関数をリストに追加し、 を呼び出すたびに が返されprint(fn(0))ます0 1 2 3 4が、代わりに4 4 4 4 4の最新の値のみiが使用されているように見えます。

このコードがしようとしていることを Python で達成することは可能ですか?