問題タブ [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 投票する
3 に答える
2523 参照

javascript - JavaScript でのプロトタイプ チェーン

JavaScript パターンと呼ばれる本を読んでいますが、その人が混乱していると思う部分が 1 つあります。

男は実際に本の中で klass デザインパターンにたどり着き、そこで彼はそれを少しずつ開発しました。彼は最初に問題を提示します。

彼は言い​​ます:

これにより、すべてのオブジェクトが実際に同じプロトタイプを共有するため、プロトタイプチェーンのルックアップが短く高速になります。しかし、継承チェーンのどこかにある子または孫がプロトタイプを変更すると、すべての親と祖父母に影響するため、これはドローバックでもあります。

しかし、私は実際に子のプロトタイプ say() を変更しようとしましたが、それは親には影響しませんでした。実際、子はまだ親を指していて、同じ名前の独自のプロトタイプを完全に無視していました。別のメモリ位置を指しているため、これは理にかなっています. では、その男はどうしてそのようなことを言うことができますか?以下は私の主張を証明しています:

子や孫がプロトタイプを変更することは不可能です。

これは私の 2 番目のポイントにつながります。彼は、親プロトタイプを誤って継承チェーンの下に変更する可能性の問題 (私には再現できません) の解決策は、親プロトタイプと子プロトタイプの間の直接的なリンクを断ち切ると同時に、プロトタイプ チェーンの恩恵を受けることだと言います。彼は解決策として次のことを提案しています。

問題は、これが他のパターンと同じ正確な値を出力することです:

空の関数がどういうわけかリンクを壊すのは意味がありません。実際、子は F を指し、F は親のプロトタイプを指します。したがって、それらはすべて同じメモリ位置を指しています。これは上記で実証されており、最初の例とまったく同じ値が出力されます。この著者が何を実証しようとしているのか、また、なぜ彼が私には理解できず、再現できないという主張をするのか、私にはわかりません。

返信ありがとうございます。

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

javascript - Javascript でのメソッドの連鎖

Javascript でメソッドを連鎖させたい (Node.js を使用)。

ただし、次のエラーが発生しました。

どうすればそれを機能させることができますか?

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

javascript - Javascriptの継承:スーパーコンストラクターを呼び出すか、プロトタイプチェーンを使用しますか?

ごく最近、MDCでのJavaScript呼び出しの使用法について読みました

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/call

以下に示す例の1つのリンクですが、まだわかりません。

なぜ彼らはこのようにここで継承を使用しているのですか

これは必要ですか?でスーパーコンストラクターへの呼び出しがあるので

とにかく、このように

これは一般的な動作から外れているだけですか?スーパーコンストラクターの呼び出しを使用するか、プロトタイプチェーンを使用する方がよいのはいつですか?

物事を明確にしてくれてありがとう

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

xslt - XSLT 分割出力ファイル - muenchian グループ化

大量のデータを変換するために XSLT ファイルがあります。ファイルのサイズを特定のしきい値以下に制限するために、チェーンされた XSLT として、または複数の出力ファイルを作成できる現在の XSLT 内に「分割」機能を追加したいと考えています。入力 XML が次のようになっているとします。

XSLT ファイルは、ミューンチャン グループ化を使用して以下のようになります。

ただし、出力として、大きなファイルではなく、以下のようないくつかのファイルが必要です。この例では、ファイルごとに 1 つの名前のみを設定していますが、これはパラメーターである必要があります。

一人称出力ファイル:

2 人称の出力ファイル:

XSLT 1.0 を使用する場合、どのようなアプローチが望ましいでしょうか? 出力ファイルを分割するために、XSLT 内でチェーンされた XSLT を呼び出す方法はありますか?

乾杯。

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

java - どのデータ構造を使用しますか?

次のデータを保存する必要があります。

こんな感じで収納しようと思いました

HashMapのようなものです。私は自分の本Data Structures & Algorithms in Java, R. Laforeを読んで、必要なものを見つけましたがSeparate Chaining / HashChain、独自に構築されたデータ構造クラスを使用して説明しています。

Javaで使用できるHashChainの「既製の」コレクションはありますか? 何かのようなもの

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

ruby - これをより良く書く方法は?Ruby続編チェーンまたは

SQLでは、次のようになります。

私の(醜い)解決策:

または条件を連鎖させるためのより良い解決策はありますか?

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

javascript - JavaScriptで実行したい関数のシーケンスを設定するにはどうすればよいですか?

私はJavaScript主導のサイトで作業しており、特定の順序で実行する必要のあるものがたくさんあります。多くのものには、アニメーションとAJAXの読み込みが含まれます。一部の擬似コードは次のようになります。

  1. JSON形式のデータを読み込む
  2. ロードされたJSONデータを使用してHTML要素を生成し、それらをdiv内にレンダリングします
  3. jQuery UIスライダーを使用して、div内の要素をスクロール可能にします
  4. 1からロードされた要素の総数までの数値をランダム化します
  5. jQuery UIスライダーを500ミリ秒の間、ランダム化された数値を表す要素までスクロール(アニメーション化)させます
  6. より多くのJSON形式のデータをロードする
  7. ページ上の他の要素を置き換えます
  8. 等々...

この各ステップは関数にラップされています。1つの関数はJSONデータをロードし、別の関数はHTML要素を生成し、3番目の関数はjQueryUIスライダーを初期化します。コードを関数にカプセル化すると、コードが読みやすくなりますが、何よりも、ページで何が起こっているかに応じて異なる順序で関数を呼び出せるようにしたいので、1つの関数が実行を終了してから次のものが実行されます。

AJAXやjQueryアニメーションを含まない通常の関数がある場合は、実行したい関数を次々に実行します。問題は、次に進む前に、アニメーションとデータ取得機能が終了するのを待つ必要があることです。jQueryのアニメーションメソッドとAJAXメソッドの両方を支援するために、コールバックを送信できます。しかし、ここで私は迷子になります。

私がやりたいことは次のとおりです。

  1. JSONデータをロードします。ロードが成功した場合は、続行して...
  2. HTML要素を生成する
  3. 要素をスクロール可能にする
  4. 1からロードされた要素の総数までの数値をランダム化し、それを...に渡します。
  5. jQueryスライダーを要素にスライド(アニメーション化)させる関数。アニメーションが終了したら...
  6. より多くのJSON形式のデータをロードします。ロードが成功した場合は、続行して...
  7. ページ上の他の要素を置き換えます

理想的なのは、この一連のイベントを1つの場所、たとえばイベントハンドラー内に設定できるかどうかです。関数を別の順序で呼び出したい場合、またはすべてを呼び出さない場合は、別のシーケンス/チェーンを設定するだけです。例は次のとおりです。

  1. 1からロードされた要素の総数までの数値をランダム化し、それを...に渡します。
  2. jQueryスライダーを要素にスライド(アニメーション化)させる関数。アニメーションが終了したら...

これは、各ステップのコールバックを制御する必要があることを意味します。

私が探しているものをご理解いただければ幸いです。単一の関数から実行シーケンス全体を制御したい。この機能は「オーケストラの指揮者」であり、他のすべての機能はオーケストラのさまざまな楽器セクションになります。この指揮者は、バイオリニストがソロを終えたときに聞こえ、ホーンに演奏を開始するように指示できるように、耳が必要です。申し訳ありませんが、私がやりたいことを理解しやすくなることを願っています。

前もって感謝します!/トーマス

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

c# - null を含む可能性があるプロパティ チェーンの処理

プロパティのいずれかが null になる可能性がある長いプロパティ チェーンの最後に値を抽出するコードがあります。

例えば:

prop1 で null の可能性を処理するには、次のように記述する必要があります。

prop1 と prop2 で null の可能性を処理するには、次のように記述する必要があります。

また

prop1、prop2、prop3 で null の可能性を処理したい場合、またはさらに長いプロパティ チェーンを処理したい場合、コードはかなりおかしくなり始めます。

これを行うためのより良い方法があるはずです。

null が検出されたときに null が返されるようにプロパティ チェーンを処理するにはどうすればよいですか?

??のようなもの オペレーターは素晴らしいでしょう。

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

c - ハッシュ テーブルの初期化に関する問題

衝突の問題を解決するためにリンクされたリストを使用してハッシュ テーブルを実装しようとしています。ハッシュ テーブルを初期化するためのコードでいくつかの問題に直面しています。セグメンテーション違反が発生します。問題が正確にどこにあるかを確認しようとして、valgrind を使用しました。このツールを使用すると、次の警告が表示されます。

「アドレス 0x8 は、スタック、malloc、または (最近) 解放されていません」

ハッシュテーブルを「編集」しようとするほとんどすべての場合。たとえば、サイズ、sth の挿入、削除などです。コードを何度も調べましたが、何が問題なのかわかりません。すべてを正しくmallocしてスタックしたと思いました。しかし、このメッセージでは、明らかに sth が間違っています。これに関するアイデアはありますか?

私のコード:

その他の注意: 次のコードを使用して、数値がハッシュ テーブルに既に存在するかどうかを検索します。私はこれをvalgrindから取得します:

サイズ 8 の無効な読み取り ==3773== 0x40110E: lookup(360) ==3773== アドレス 0x8 は、スタック、malloc、または (最近) 解放されていません

テーブルのサイズを確認するために呼び出すと、セグメンテーションも取得されるという事実は、さらに心配です。これを呼び出す:

Array[pos].TableHead は、hashTable の構造体へのポインターです。

編集:

valgring を実行すると、次のレポートが表示されます。

これを読んで、私の番号にはヌルターミネータがないと最初に思いました。だから、私はそれを再初期化し、最後のインデックスにnullを追加しました。残念ながら、ご覧のとおり問題が残っています。最初の実行 (ルックアップ関数) で、数値をリストの数値と比較します。これは null です。セグメンテーションがあります。しかし、私はなぜさまよいます。NULL を返すことはできませんか?

ありがとうございました。

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

python - 均質化関数は、計算ネットワークにコンパイルできますか?

ネットワーク内では、情報 (パッケージ) をさまざまなノード (ホスト) に渡すことができます。その内容を変更することで、さまざまな意味を持つことができます。最終的なパッケージは、ネットワークの指定されたルートを介して入力されたホストに依存します。

ここで、計算ネットワーク モデルを実装して、異なる計算パスを指定することで小さなジョブを実行したいと考えています。

プロトタイプ:

最終的には次のようなものが必要だと思います:

これが私の質問です。あなたの助けが得られることを願っています:

  1. p関数と推定結果を調べて、ルートを運ぶ(決定する)ことができますか?</p >

    (1.1 ) たとえば、ルート上にノードがある場合x()

    def x(p): return x / 0 # I suppose it can pass the compile

    pどういうわけかこのパスが良くないことを知り、このパスを選択しないようにできますか?

    (1.2) もう 1 つの混乱は、pが自己定義のクラス型である場合、このクラス内のペイロードは本質的に文字列であり、パス [a,c,d] で運ぶ場合、int 型で must をp知ることができ、回避することです。a()このノードを選択しますか?'

  2. パス生成時の 1.2 と同じですが、このようなおっとを回避できますか?

    デフォルト a(p): p + 1 を返す

    def b(p): p + 2 を返す

    def x(p): p.append(1) を返す

    def y(p): p.append(2) を返す

    full_node_list = [a,b,x,y]

    path = random(2,full_node_list) # おっと x,y は int 型 P に、a,b は list 型に問題になります。パスが関数のラムダリストであるかどうかを考慮してください

追伸: モデル全体が私の頭ではあまり明確ではないので、指導や指示をいただければ幸いです。

ありがとう!