問題タブ [chaining]

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

c++ - メソッドと一時変数の連鎖について、明確にしてください

皆さん、こんにちは!

「円」へのポインターを受け取り (たとえば)、いくつかの「連鎖」メソッドを介してその属性を調整するクラスがあります。このようなもの:

今、このコードが合法かどうか疑問に思います:

一方で、「if」式の中で作成された一時的なオブジェクトは、この式の最後まで存続すると思います。したがって、「Radius」と「Center」の呼び出しは有効です。しかし一方で、一時変数への参照を使用することは未定義の動作であり、私はまさにこの種のことを行っているように思えます-「this」が一時的な場合、(*this) を使用しています。それは私にいくつかの疑問を抱かせるので、はっきりさせてください。ありがとう!

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

php - リソース ガベージの収集が早すぎた

SWIGを使用して PHP 拡張機能を作成しましたが、すべて正常に動作しますが、メソッド呼び出しを連鎖させると、奇妙なガベージ コレクション動作が見られます。たとえば、これは機能します:

しかし、このセグメントは失敗します:

唯一の違いは、最初は を作成する$resultsのに対し、2 番目は呼び出しを連鎖させることです。

SWIG は実際には関数を PHP に公開するだけで、それらと対話するための PHP プロキシ クラスを生成します。これらのプロキシ クラスは、基本的に、公開された各関数に渡されるリソースを、それらの関数が通常取る他の引数と共に保持します。おそらくこれらのプロキシ クラスが問題であると考えて、コードを作り直してそれらをバイパスし、代わりに公開された関数を直接使用しました。前と同じように、これは機能します:

繰り返しますが、このセグメントは失敗します:

繰り返しますが、唯一の違いは、最初は を作成する$resultsのに対し、2 番目は呼び出しを連鎖させていることです。

この時点で、gdb/valgrind でしばらくデバッグを行ったところ、InvocationResponse_results呼び出しをチェーンするときに戻り値のデストラクタが呼び出されるのが早すぎることがわかりました。観察するためにstd::cout、公開された C++ 関数とそのデストラクタの先頭にステートメントを挿入しました。これは連鎖なしの出力です:

スクリプト---の実行中と実行後に何が起こるかを区別できるように、スクリプトの最後に出力しました。Hola Mundoからprintfです。残りは C++ からのものです。ご覧のとおり、すべてが期待どおりの順序で呼び出されます。デストラクタはスクリプトの実行後にのみ呼び出されますが、TableIteratorデストラクタは予想よりも早く呼び出されます。ただし、これにより問題が発生することはなく、おそらく無関係です。これをチェーニングを使用した出力と比較します。

InvocationResponse_resultsに保存される戻り値がなければ、実行がコール チェーン (と$resultsの間) から出る前にガベージ コレクションが実行されるため、すぐに問題が発生し、最終的にはセグ フォールトにつながります。Tables_getTable_iterator

xdebug_debug_zval()また、いろいろなところで参照カウントを調べてみましたが、特に異常はありませんでした。以下は、チェーンを使用した場合$resultsと使用しない場合の出力です。$row

そして$rowチェーンで:

私はこれに数日を費やしましたが、アイデアがほとんどなくなったので、これを解決する方法についての洞察は大歓迎です。

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

struts2 - Struts2 のアクション チェーンが推奨されないのはなぜですか?

Struts2 でのアクション チェーンが良くない理由は何ですか?

上記のリンクは、Redirect Result または Redirect Action Result を介して Redirect After Post を使用することを提案しています。リダイレクト アクションは進むべき道ですか?

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

javascript - Jquery: 方法: UL が表示されたら、最初の LI で 20px を「左」にアニメートし、次に 0px に移動し、次に 2 番目の LI にそれを実行させ、次に 3 番目になど

UL.chapters が 'slideDown' の場合、最初の 'chapters LI' で 'left' プロパティを 20px にアニメートし、次にアニメートして 0px に戻し、次に 2 番目の LI で同じことを行い、次に 3 番目で、というように続きます。 . 私のコードでは、UL.chapters がスライドした直後にすべてアニメーション化します。一度に 1 つずつアニメーションを実行するにはどうすればよいでしょうか。

コードが更新されました。

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

c++ - C++ で例外をチェーンする必要がありますか?

独自の例外を実装した C++ プログラムの作業を終えたところです (ただし、std::exception から派生しています)。1 つの例外が連鎖反応を引き起こし、エラーが上方に伝播し、他の例外が発生する場合に私が適用した方法は、モジュール (読み取りクラス) の各適切なステップでエラー メッセージを連結することです。つまり、古い例外自体が削除され、新しい例外が作成されますが、エラー メッセージが長くなります。

これは私の小さなプログラムではうまくいったかもしれませんが、最終的には自分のアプローチにあまり満足できませんでした. 1 つには、行番号 (現時点では適用されませんが) とファイル名は、最後の例外を除いて保持されません。実際、その情報は最初の例外で最も重要です。

これは、例外を連鎖させることでより適切に処理できたと思います。つまり、古い例外は新しい例外のコンストラクターで提供されます。しかし、それはどのように実装されますか?例外がメソッドからスコープ外に出たときに例外が消滅し、それによって例外ポインターを使用できなくなるのではないでしょうか? また、例外が派生クラスである可能性がある場合、例外をコピーして保存する方法は?

これは最終的に、C++ での例外の連鎖が結局のところ良いアイデアであるかどうかを検討するように導きました。おそらく、1 つの例外を作成し、それに追加のデータを追加する必要があります (私が行ってきたように、おそらくはるかに優れた方法で)?

これに対するあなたの反応は何ですか?ある種の「例外トレース」を保持するために、別の例外によって引き起こされた例外を連鎖させる必要がありますか?また、それをどのように実装する必要がありますか? -- それとも、単一の例外を使用し、追加のデータを追加する必要がありますか? また、それはどのように行うべきですか?

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

c++ - 連鎖例外のこの実装はどのように機能しますか?

以前、C ++で例外をチェーンする方法について質問しましたが、その回答の1つは、それを実行する方法に対する気の利いた解決策を提供しました。問題は、私がコードを理解していないことです。コメントでこの種の議論をしようとするのは、あまりにも面倒です。だから私は完全に新しい質問を始める方が良いと思いました。

コードは以下に含まれており、取得できない各セクションに明確にマークを付けています。私が理解していないことの説明は、コードの下に含まれています。コードはPotatoswatterによって書かれました。


コード

コードを実行すると、次の出力が得られます。


わからないこと

  1. throw;ブロック内tryこれは今まで見たことがありません。throw;私が有効だと思った唯一の場所は、catch捕らえられたものを投げ直すためのブロックの内側でした。では、これは何をするのでしょうか?一部のデバッグでは、スローされた例外が以前にスローされたものであることが明らかに示されていますが、それは完全に異なるtryブロック内にありました。struct実際、それは宣言の外でさえありました!

  2. フィールドの交換:なぜ例外フィールドを交換する必要があるのですか?ポインタをコピーするだけで十分ではないでしょうか。これは、フィールドが指す構造がヒープから時期尚早に削除されるのを防ぐためですか?

  3. チェックlink link'sリンク:linkそうでないチェックは理解できますが(ポインタをNULL削除しても効果はありませんが)、なぜ'sリンクをチェックする必要があるのでしょうか。NULLlink

  4. ダミー例外をスローする:なぜこのダミーが必要なのですか?投げられたが、その後落とされた。チェーンの終わりとしてこれが必要なのはなぜですか?

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

jquery - 値を返す jQuery プラグインを作成する

場合によってはデータを保存する jQuery プラグインを作成しています。

入力パラメーターを変更して、プラグインによって保存された値を取得できる、非常に柔軟な方法で記述したいと思います。

説明:

を呼び出す$("#any").myPlugin()と、プラグインが初期化され、内部にadivと someが作成されます。aをクリックすると、メソッドを使用してa保存されます。私が呼び出すと、に保存されている値を取得したいと思います。.index().data()$("#any").myPlugin("getSelection").data()

私が試したこと:

要素を作成するための単純な呼び出し:

そして、ここでインデックスを取得しようとしましたが、成功しませんでした:

それで、私がしようとしていることをすることは可能ですか?

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

sql - 単一テーブルチェーンの最後のレコードを検索する(SQL Server)

SQL Server 2005で次のテーブルを取得しました。これは、マージ操作の履歴を維持するために使用されます。

  • 列FROM_ID(int)
  • 列TO_ID(int)

ここで、元のFROM_IDを入力として受け取り、最後に使用可能なTO_IDを返すクエリが必要です。

たとえば、次のようになります。

  • ID1はID2にマージされます
  • その後、ID2はID3にマージされます
  • 後で再び、ID3はID4にマージされます

したがって、私がまとめようとしているクエリは、入力として(WHERE句で)ID 1を受け取り、結果として最後に使用可能なTO_ID(この場合は4)を取得する必要があります。

再帰ロジックが必要だと思いますが、どのように始めればよいのかよくわかりません。

ありがとう !

マシュー

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

jquery - jQueryチェーン.load()リクエスト?

だから私は今jQueryの.load()$("#example").load('./uri.ext #ID')を使っていましたが、そのようにチェーンするように構成することはできないようです:

$("#example").load('./uri.ext #ID1').load('./uri.ext #ID2').load('./uri.ext #ID3')

もちろん、DIVのテンプレートファイルなど、ページを動的に構築し、HTMLを文字列変数などに格納しない場合に役立ちます。さらに、これらのいくつかを1つのファイルに保持することもできます。

理想的には、そのコマンドでそのようなものをネストしたいと思います。

私が抱えている問題は2つあります。まず、リクエストのasync : trueプロパティにより次のリクエストが発生し、プレースメントが意図したとおりに実行されません。次に、ネストされた$( "#example")。load('./ uri.ext#ID1')。ajaxCompletes(function(){/ next .load()in sequence /}) `を実行しようとしましたが、最終的には終了せず、それらのファイルに対する要求を送信し続けた再帰トラップ。

私が試みたような構文/方法で私が求めていることを達成する方法について何か考えはありますか?また、これが問題ではなく、jQueryのチェーンの私の部分についての誤解である場合は、説明をいただければ幸いです。

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

javascript - Node.js 上の Javascript FAB フレームワーク

node.js フレームワークであるFabを紹介するスライドを見たことがあります。

素晴らしいスライド

これはJavaScriptですか?

誰かがそのコードで何が起こっているのか説明できますか?

私はすべて迷っています。