問題タブ [method-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 に答える
251 参照

java - 静的メソッドを呼び出した後にクラスを再利用する

たとえば、いくつかの static void メソッドを持つクラスがあるとします。

次のように静的メソッドを呼び出すように変更するにはどうすればよいですか。

それ以外の

非静的メソッドでそれを行う方法は知っていますが (これを返すだけです)、静的フィールドでそれを行う方法は?

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

php - PHP 配列参照; 後で使用するために参照を配列に保持する

後で使用するために変数参照を保持しようとしています。

これが可能かどうかは定かではありませんが、配列要素を初期化し、変数で参照できることを望んでいます。次に、その配列要素の値を何かに設定して、参照された変数から値にアクセスできるようにします。

たとえば、これは機能します:

ここに問題があります。メソッド呼び出しの順序。関数は格納された匿名関数の戻り値を渡す必要があるため、関数が へcall()の参照を返すことはできません(そうでない場合は、呼び出しをの代わりに並べ替えます)$thiscall()->call()->fetch()->fetch()->call()

とにかく、fetch()メソッドはキーで適切な要素を設定$_varsNULL既存の値を空にするか、初期化します)、その要素を渡された に参照する必要があり$varます。

匿名関数が呼び出されると(バインディングが完了した後fetch())、 が呼び出されbind()、要素が$_vars何にでもバインドされます(この場合はa$string_setを含むThis is a string) 私のロジックが正しい場合、fetch()バインドされた変数($string_getこの場合は )は配列を参照する必要があります$_varsを参照している要素には、$string_setが含まれていますThis is a string

そのようには見えませんが。失敗しているコードは次のとおりです (簡潔にするために省略されていますが、重要な部分はすべてそこにあります) 。

私はここでヒナギクを追いかけていますが、これは可能ですか? いずれにせよ、この問題を一目見ただけでも感謝します。どんな洞察も本当に感謝しています。

編集: fetch()-の行は$var = $this->_vars[$key];、参照によって配列要素を割り当てていませんでした。に編集しました$var = &$this->_vars[$key];が、一見効果はありません。

ボーナス: この問題が解決可能であれば、それは明らかに素晴らしいことです。私は実際には、参照ではなく値bind()を取ることができることを望んでいます。$varメソッドのシグネチャは のように変更されますset($key, $value)。とにかく、事前にもう一度感謝します。


一見好奇心旺盛な(あなたの方向 @Tomalak を見て)詳しく説明するために、より完全なクラスと使用シナリオを提供します。

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

ruby - Ruby 1.8.7:オブジェクトの連鎖メソッドのインターセプト

任意のデータのセルをラップしているクラスがあります。一種のフィルター。セルはバックエンドデータストアに存在します。しかし、それは可能な限り透明でなければなりません。

簡単なアクセサーの作成は非常に簡単です。

私がトリッキーだと思っているのは、データがラップされていない場合に通常はデータに影響を与えるメソッドを傍受して追跡することです。たとえば、データが配列の場合、その場obj.foo << 17で配列に要素を追加します。バックエンドに保存されているデータでその動作を維持したい(つまり、保存された値に要素も追加される)。私はおそらく助けになると思いました:obj.foo << 17method_missing

しかし、リーダーアクセサーと組み合わせることで、操作の制御は私を超えて移動しました。これは、返されるものがそれ自体ではないためです。つまり、バックエンドデータが配列の場合、そのコピーを返します。変更されて返送されることのないコピーです。

これは可能ですか?もしそうなら、どうすればそれを行うことができますか?(それはおそらく痛々しいほど明白であり、私は疲れているのでそれを見逃しているだけです-または多分そうではありません。:-)

ありがとう!

[編集]

別の言い方 #method_missingをすれば、未知のメソッドの呼び出しプロセスにフックすることができます。同様に呼び出しプロセスにフックする方法を探していますが、既知および未知のすべてのメソッドについてです。

ありがとう!

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

php - PHP:オブジェクトメソッドチェーンの名前空間解決

いくつかのコアシステムでメソッドチェーンを使用しています。これらのシステムの一部をモジュールから離れた場所に名前空間化しようとしています。ただし、チェーンを使用して名前空間を解決するのに問題があります。

したがって、これは(通常どおり)機能しますが、次のようになります。

一方、これは:

エラーをスローします:

これを回避する方法はありますか?

私はほとんどすでにこれがノーゴーだと思っています。しかし、私が何かを見逃していないことを確認するように頼みます。

あなたの視点(間違いなく私のもの)によっては、それはバグです。

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

c++ - メソッド連鎖のインデント

非常に長いメソッドチェーンがあるとします

最高のインデントは何ですか?すべてのコンパイラがそれらをサポートしていますか?

また

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

ruby - インライン配列スライス

こんにちは!最近、面白いことを考えていました。このスニペットがあるとします:

どこ

私が実際にやりたいことは、アドホック配列の最後のメンバーを除くすべてのメンバーを反復処理することです。delete_at削除された要素を返すため、スニペットは明らかに機能しません。

「インライン」構文で配列をスライスする方法はありますか? それとも、何かがひどく欠けていますか?同様のメソッドチェーンを簡単にする他のトリックを知っていますか?

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

ruby - Rubyでは、チェーンの最後のメソッドが最初のオブジェクトにアクセスするにはどうすればよいですか。

-編集、解決済み-

Object#rec必要なことを達成するためのメソッドを作成することになりました。これが結果です。

誰かがより良い方法を持っているなら、質問はまだ開いています。

-編集、解決済み-


問題:

私はこれに似た状況にあります:

ここで、method1以外のものが返され、obj必要な参照が保持されているため、再度method2アクセスする必要があります。obj


例えば:


別:

反転(例)と参照へのアクセスの両方を使用して実行した場合、または変更を加えて元の値を返すなどのコメントを付けbた場合は、再度合格する必要がないことはわかっていますが、それが可能かどうかを知りたいのですが、上記を実行します。 obj.my_methodmy_methodthe Tin Manmethod1objobj

前もって感謝します。

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

php - PHP でメソッドをチェーンするにはどうすればよいですか?

jQuery を使用すると、メソッドをチェーンできます。PHPでも同じことを見たのを覚えているので、これを書きました:

チェーンを機能させることができません。鳴き声の直後に致命的なエラーが発生します。

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

javascript - メソッド呼び出しをチェーンするにはどうすればよいですか?

私はオブジェクトを持っています:

それは与えますstep1()が、与えませんstep2()step2()警告を発しません。これどうやってするの?