問題タブ [construct]
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.
algorithm - エッジからツリーを構築する
私には縁があり、それを使って木を作りたいと思っています。
問題は、エッジが特定の順序になっている場合にのみツリー構造を構築できることです。注文例:
エッジを繰り返しスローし、現在の頂点が作成されたツリーで親を見つけようとしてから、ノードを構築して挿入します。
したがって、新しく追加された頂点のツリーには常に親が存在する必要があります。問題は、入力エッジをどのようにソートするかです。Voices はトポロジカル ソートについて教えてくれますが、それは頂点用です。正しくソートすることは可能ですか?
php - PHPの「リスト」は非数値配列で機能していますか?
'list'構文は数値配列に対してのみ機能すると思ったので、上記はraを出力します。なぜそれが機能するのですか?
php - __construct($foo = NULL) が機能しない
奇妙な問題があります。これは単なるクラスのコンストラクター メソッドであり、他のコードを表示する価値はありません。とにかく、このコードを見てください。
if(isset($x) || isset($y)){
今以来、このコードでオブジェクト作成に渡されない場合、このコードは $this->x と $this->y WITHOUT をエコーするはずだと思っていましたが、$newObj = new xy;
そうではありません。この行が次のようになっている場合にのみ機能し$newObj = new xy(10,10)
ます。
助けと説明が必要です:)
php - DomPDF - Cached_PDF_Decorator 宣言エラー
致命的なエラー: Cached_PDF_Decorator::_ construct() の宣言は、22 行目の /my/path/to/cached_pdf_decorator.cls.php の Canvas:: _construct()の宣言と互換性がある必要があります
Cached_PDF_Decorator の関連コード:
インターフェイス Canvas の関連コード:
Cached_PDF_Decorator の __construct のパラメーターは、Canvas のパラメーターと一致するべきではありませんか? ありがとう!
php - 同じクラスでクラスプロパティフォームメソッドを構築するPHPOOP
何らかの理由で、これを機能させることができません。
$this->number
はデータベースから設定され、$this->number_two
DB値+ 2である必要があります。ただし、エコーする$this->number_added
と、2が返されます。$number
値は正しく初期化されました。これは、私が何をしようとしているのかを確認するための私の問題の単純化された例です。PHPOOP初心者。
php - 例外クラスの php 親コンストラクター
そこで、PHP のマニュアルを読み直していたところ、親例外コンストラクターを呼び出すカスタム例外のコードに関するコメントがあり、この目的が理解できませんでした。
コードは次のとおりです。
次の論理がわかりません。
なぜこれが行われるのかについての論理は役に立ちます。
python - プロトコル解析用のPythonコンストラクト
ツイストのパワーと宣言型バイナリデータパーサーProtocol
の延性を混ぜ合わせようとしています。construct
これまでのところ、私のMessageReceiver
プロトコルは次の方法でtcpチャネルからのデータを蓄積します。
今、私は、メッセージがオプションのフィールドを持っているかもしれないし、持っていないかもしれないという事実を考慮に入れるためにプロトコルを進化させる必要があります(したがって、固定メッセージ長はもうありません)。メッセージパーサー(の意味のある部分)をconstruct
次のようにモデル化しました。
そのため、現在、バッファリングロジックを変更して、適切なチャンクサイズをに渡す必要がありStruct
ます。メッセージの候補となる可能性のあるルールがオブジェクトでわかっていることを考慮してStruct
、メソッドで渡されるデータのサイズを変更することは避けたいと思います。rawDataReceived
construct
バッファリングロジックをconstruct
オブジェクトにプッシュする方法はありますか?
編集
Macro
sとAdapter
sを使用するだけで、バッファリングロジックを内部にプッシュするという目的を部分的に達成することができました。
rawDataReceived
これにより、呼び出し元のコードが大幅に簡素化されます( Glyphの提案のおかげでなくなりました)。
残念ながら、エラーを発生させたストリームのインデックスを教えてもらう方法が見つからなかったため、このソリューションは要件を部分的にしかカバーしていconstruct
ません。そのため、バッファ全体を削除する必要があります。これは理想的ではありません。
python - Pythonコンストラクトライブラリ(バイナリデータの解析用)で、残りのデータを1つのフィールドとしてグループ化する方法は?
Bluetooth プロトコルを解析するために Python コンストラクト ライブラリを使用しています。ライブラリのリンクはこちら
プロトコルは非常に複雑であるため、1 つの巨大な構造を構築する代わりに、解析を複数の段階に分割しました。今、私はすでに大きな生データをこの構造に解析しています:
ご覧のとおり、ペイロードの長さは 34 である PDU_length として示されます。ペイロードには次の構造があります。
[最初の 6 オクテット: AdvertAddress][0 ~ 31 オクテットの残りのデータ: AdvertData]
しかし、ペイロードをスタンドアロン構造として解析し始めたとき、ペイロードの構成のコンテキストで長さ 34 を失いました。最初の 6 オクテクトを AdvertAddress として解析し、残りのデータを AdvertData としてグループ化する構造を作成するにはどうすればよいですか?
私の現在のソリューションは次のようになります。
これにより、正しい出力が得られます。しかし、明らかにすべてのペイロードのサイズが 34 というわけではありません。この方法ではADVERT_PAYLOAD
、新しいペイロードを解析する必要があるたびに構築する必要があります。
ドキュメントを何度も読みましたが、関連するものは見つかりませんでした。ペイロードの長さの知識を のコンテキストに渡す方法も、メソッドADVERT_PAYLOAD
に渡された引数の長さを取得するparse
方法もありません。
たぶん、この問題の解決策はありません。それでは、ほとんどの人はそのようなプロトコル データをどのように解析するのでしょうか? ペイロードをさらに進めると、より多くの型に細分され、それらを解析するためのより小さな構成体が必要になります。さらに小さな構造を埋め込む小さな構造を埋め込んで、親構造を構築する必要がありますか? こんな大きなものをどうやって作るのか想像もつきません。
前もって感謝します。
php - NodeJS: クラスと __construct メソッドを拡張する
システムを PHP から NodeJS に移行していますが、次の疑問があります。
PHPには、クラスがあります
しかし、Javascript/NodeJS (ExpressJS) で同じことを行う方法は? これは拡張するためだと思いますが、__construct メソッドをどのように定義しますか? PHP のように Class インスタンスの開始時に呼び出されるメソッドの名前は何ですか?