問題タブ [apply]
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.
javascript - 関数をJavascriptでラップするにはどうすればよいですか?
私は自分のアプリケーションの1つにグローバルエラー処理「モジュール」を書いています。
私が望んでいる機能の1つは、関数をブロックで簡単にラップできるようにすることですtry{} catch{}
。これにより、その関数へのすべての呼び出しに、グローバルロギングメソッドを呼び出すエラー処理コードが自動的に含まれるようになります。(try / catchブロックでどこでもコードを汚染しないようにするため)。
.call
ただし、これは、JavaScript、 and.apply
メソッド、およびthis
キーワードの低レベルの機能についての私の理解をわずかに超えています。
Function.wrap
私はプロトタイプの方法に基づいてこのコードを書きました:
これは次のように使用されます:
そのコードは完全に機能します。6を出力してから、グローバルエラーハンドラを呼び出します。
私の質問は、ラップしている関数がオブジェクト内にあり、「this」演算子を使用している場合、これは何かを壊しますか?.applyと呼んでいるので少し心配ですが、そこに何かを渡すと、何かが壊れるのではないかと心配しています。
java - Javaコレクション/マップ適用メソッドと同等ですか?
関数を Java コレクション (この場合はマップ) に適用したいと考えています。これを行う良い方法はありますか?マップがあり、マップ内のすべての値に対して trim() を実行し、マップに更新を反映させたいと考えています。
javascript - JavaScript で、パラメーターの値をリストするのではなく、値の配列を使用してオブジェクトを構築するにはどうすればよいですか?
これは可能ですか?さまざまなタイプのファクトリを駆動する単一の基本ファクトリ関数を作成しています (ただし、いくつかの類似点があります)。引数を配列として基本ファクトリに渡し、引数を入力する新しいオブジェクトのインスタンスを作成できるようにしたいと考えています。配列を介した関連クラスのコンストラクター。
JavaScript では、apply メソッドを使用して、配列を使用して複数の引数を持つ関数を呼び出すことができます。
とにかく適用を使用してオブジェクトのインスタンスを作成する方法があるようには見えませんが、ありますか?
次のようなもの (これは機能しません):
python - TypeError を呼び出さずに、間違った数の引数で Python 関数を呼び出す方法はありますか?
間違った数の引数を指定して関数を呼び出したり、定義にないキーワード引数を指定して関数を呼び出したりすると、TypeError が返されます。コールバックがサポートするものに基づいて、コールバックを取得し、可変引数で呼び出すコードが必要です。それを行う1つの方法は、 callbackに対してandcb
を使用することですが、それを のようなものに抽象化したいと思いますが、それは「適合する」引数のみを適用します。cb.__code__.cb_argcount
cb.__code__.co_varnames
apply
例えば:
すでに Python にこのようなものはありますか、それともゼロから作成する必要がありますか?
javascript - function.apply() が IE のドキュメントの境界を越えて機能しないのはなぜですか?
function.apply() を介して別のページで関数を呼び出そうとすると、IE で奇妙な動作が見られます。
簡単なテストケースを次に示します。
test1.html:
test2.html:
firefox と chrome では、すべてのメソッドが適切に機能します。
IE (6、7、および 8 でテスト済み) では、applyArgs() メソッドと remoteApply() メソッドを除くすべてが期待どおりに機能します。
applyArgs() が apply を呼び出そうとすると、「JScript オブジェクトが必要です」というエラーが発生します (test1.html の 11 行目)。
remoteApply() は、apply を呼び出そうとすると、同じ「JScript オブジェクトが必要です」というエラーを返します (test2.html の 5 行目)。
問題は、apply() を使用できるようにする必要があることです。remoteApplyCopy() メカニズムなどを実行することで問題を回避できますが、それを回避しようとしています。apply() が機能しないのはなぜですか?
r - データフレームの列にpnormを適用する
データフレームにあるデータを正規化しようとしています。それぞれの値を取得し、その値が存在する列の平均と標準偏差とともにpnorm関数を実行します。ループを使用して、実行したいことを書き出す方法は次のとおりです。
Rには、これを行うための便利なダンディベクトルの方法があるはずです。私は頭がいいと思ったので、適用機能を使ってみました。
私の残念なことに、それは私が期待したものを生み出しません。出力の左上と右下の要素は正しいですが、それだけです。では、どうすれば私の人生をループ解除できますか?
私の2番目のコードブロックが実際に何をしているのか教えていただければボーナスポイント。まだ私には謎のようなものです。:)
list - Tcl 8.4で申請するにはどうすればよいですか?
Tcl 8.5では、次のようなことができます。
ただし、その適用はv8.4では定義されていません。
v8.4でTclを使用して適用を定義するにはどうすればよいですか?
いくつかのlispコードをTclに変換しているので、これが必要です。lispコードには、次のように移植したいいくつかの構造があります。
ありがとう。
-ウィリアム
r - Apply ステートメントのラグが R で機能しない
Rのzooオブジェクトで「ラグ」を行う関数を「適用」しようとしています.
単一のzooベクトルを渡すと、関数は正しく機能します-ラグが適用され、すべてが機能します。
ただし、apply( data, 1, function )
ラグが機能しない場合。エラーはなく、ゼロ ラグと同等です。
これは単純なapply( data, 1, lag )
.
なぜこれが当てはまるのか、誰でも説明できますか?ラグを発生させるためにできることはありますか?