問題タブ [extending]

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

flash - jsfl で静的テキストフィールドを中央に配置: 奇妙な結果

Flash CS3 を使用して、次のようにテキストを変更した後、静的なテキスト フィールドを jsfl で中央に配置しようとしています。

トレースはすべて正しい数値を教えてくれます。ただし、ライブラリから上記のテキストフィールドを使用して関連するシンボルを開くと、テキストフィールドの位置がピクセル単位でずれています。

x: テキストの幅に応じて変化します
y: テキストの高さに関係なく、常に -2

それが違いを生むかどうかを確認するためにフォントを試してみました_sansが、違いはありませんでした。

ここで何が起こっているのでしょうか?

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

erlang - Erlang: プロセス用の単純な pubsub — 私のアプローチは大丈夫ですか?

免責事項: 私は Erlang と OTP にかなり慣れていません。

Erlang/OTP で単純な pubsub が必要です。プロセスは「ハブ」でサブスクライブし、そのハブに送信されたメッセージのコピーを受信できます。

については知ってgen_eventいますが、イベントを 1 つのイベント マネージャー プロセスで処理する一方で、すべてのサブスクライバーを個別の自律的なプロセスにしたいと考えています。また、私はgen_eventのハンドラーの監督を理解することができませんでした。残念ながら、Google の結果は XMPP (Ejabberd) と RabbitMQ のリンクでいっぱいだったので、私のアイデアに関連するものは何も見つかりませんでした。

私の考えでは、そのような pubsub モデルは監視ツリーにシームレスにマップされます。そこで、スーパーバイザー (gen_serverフードの下) を拡張して、そのすべての子にキャスト メッセージを送信できるようにすることを考えました。

私はこれを私の手っ取り早いカスタム「ディスパッチャー」動作でハッキングしました。

ただし、一見するとすべてがうまく機能しているように見えますが (子供はメッセージを受信し、失敗するとシームレスに再起動されます)、これが良いアイデアだったのはいつなのだろうかと思います。

誰かが私のアプローチを批判 (または承認) してくれませんか?

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

javascript - 親メソッドの再定義による Jquery UI でのウィジェットの拡張

ドキュメントに従ってUIダイアログを拡張しようとしました(UIバージョン1.8.16):

このコードを実行すると、「this.uiDialog is undefined」という JS エラーが発生します。

_init() メソッドをオーバーライドしようとしても、エラーは発生しませんが、親メソッドの呼び出しは効果がありません。

私は混乱しています..カスタムの初期化コードを入れるなど、どの方法で拡張するのが合法ですか?

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

scala - Scalaで匿名型を拡張する目的は何ですか?

Scalaをよりよく理解しようとしていますが、次のようなコードの有効なユースケースが見つからないようです。

そのような構成を許可する理由は何ですか?

ありがとう!

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

android - スタイルとテーマの混乱の拡大

私のマニフェストでは、私はこのようなものを持っていました

タイトルバーが表示されなかったということです。

しかし、今はテーマをカスタマイズしたい (デフォルトの Android テーマを拡張したい) ので、このテーマを作成しました

次に、マニフェストで設定しましname="Theme.NoTitleBar.new_skin"たが、タイトルバーはまだ表示されています。

タイトル バーを非表示にして、新しいカスタム テーマを保持するにはどうすればよいですか?

もう1つの質問は、ドット「。」を追加します。スタイルを操作するときに拡張することを意味しますか?

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

c++ - Pythonと動的に拡張するC++クラス

そのため、Pythonのカスタムタイプ、関数、属性で問題が発生しています。

Pythonを使用していて、カスタムタイプの1つ(Vector4など)に属性を設定したい場合、コードはconst char* attribute_name引数に対してNULLを取得します(はい、モジュールをインポートしています)。

奇妙なことに、setter関数で属性名をハードコーディングすると、次のエラーが発生します。

SystemError: error return without exception set

オブジェクトがPython(およびC ++)で作成されているのを確認しているので、それが問題になるとは思いません。setattroフックがC++で属性を正常に設定した場合は、1を返します。コードが呼び出され、C++側で属性が設定されているのがわかります。属性が設定されているときに発生するエラー/例外はありません。

さらに、Pythonでクラスのインスタンスで関数を呼び出すとtp_getattro、辞書をチェックする代わりに、で設定された関数が呼び出されます。

理由はよくわかりません。配列を介して行うのではなく、辞書を設定して関数を配置しているため、が呼び出されたPyModuleDefときに関数が表示されないためです。PyType_Ready

なぜこれが起こっているのか誰かが知っていますか?Python3.2を使用しています。


関連する:

基本型(tp_newおよびtp_dealloc)があり、実行時に派生型を作成しています。派生型には、ディクショナリ、、、tp_baseおよびtp_getattroがありtp_setattroます。

これは、関数がPythonクラス/タイプにバインドされる方法です。

ここで、funcNameとclassNameはconstchar*です。pythonFuncは、メタシステムにバインドされているすべての関数の呼び出しを処理する汎用のPython関数です。classObjは、メンバーm_pyClassType(PyTypeObjectのタイプ)を持つPythonClassへのポインターです。

PyGeneralObj新しいオブジェクトは2つのconstchar*とvoid*を持っています(これはC ++のオブジェクトです)

エラーは発生せPyType_Readyず、タイプをインクリメントします。次に、から与えられたモジュールPyObjectにオブジェクトを追加しますPyImport_ImportModule。メインモジュールをランタイムに追加し、Pythonを初期化して、モジュールをインポートします。


より多くの情報/コードが必要な場合は、もう少し投稿できます。これが理にかなっていることを願っています。stackoverflowに投稿するのはこれが初めてです。

明確にするために、C++側で完全に解決される動的属性が必要です。PyObject* selfまた、関数の場合、呼び出す必要のある関数の文字列名を取得できるように、引数をオーバーライドできるようにしたいと思います。

Boost、Cythonなどのサードパーティのライブラリ/インターフェースは使用したくありません。

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

flash - JSFL fl.saveDocumentAs();

flasのサイズを変更し、さまざまなバージョンを名前を付けて保存するJSFLスクリプトを作成しています。

fl.saveDocumentAs();を使用してポップアップする「名前を付けて保存」プロンプトを取得できます。

しかし、FLAの新しい名前を生成するためにフラッシュを取得できないようです。

できれば「名前を付けて保存」プロンプトでスクリプトを中断せずに、「document.fla」を「document_foo.fla」(および後で「document_qux.fla」)として保存したいだけです。

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

php - 抽象クラスでプライベート メソッドをテストすると、他のメソッドが拡張されます

抽象クラスでプライベート メソッドをテストしようとしています。

3 つの抽象クラスがあります。

テストクラス:

エラーのため、テストは失敗しました:

/usr/share/php/PHPUnit/Framework/MockObject/Generator.php の 190 行目で呼び出され、定義された AbstractClass2::__construct() の引数 1 が欠落しています

AbstractClass2.php

AbstractClass1.php

Generator.php:190

私は何を間違っていますか?または、この状況でプライベート機能をテストするにはどうすればよいですか?

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

java - 拡張メソッドの戻り型ハッシュ テーブル

メソッドを要求するインターフェース Node があります。

public HashSet getNeighbour();

NodeVariable は Node を実装し、その隣人は NodeFunction 型 (Node も実装する) であり、私はメソッドを書きました:

public HashSet<NodeFunction> getNeighbour();

(NodeFunction クラスでは逆)。

Node のメソッドのシグネチャを次のように変更すると、次のようになることがわかりました。

public HashSet<Node> getNeighbour();

次に、NodeVariable と NodeFunction のメソッドでエラーが発生します。

factorgraph.NodeFunction のエラー getNeighbour() は factorgraph.Node の getNeighbour() を実装できません 戻り型 java.util.HashSet は java.util.HashSet NodeFunction.java と互換性がありません

これは本当に明確ではありません。

私が見つけた:

拡張インターフェイスで戻り値の型をオーバーライドする - 悪い考えですか?

Java - 戻り値の型が独自のメソッド パラメータ型にジェネリックを使用する場合、拡張インターフェイスの戻り値の型をオーバーライドする

そして今、Node メソッドの署名を次のように変更しました。

public HashSet<? extends Node> getNeighbour();

したがって、コンパイラは不平を言うのをやめます。

そうですか?HashSet が HashSet の「拡張」と見なされないのはなぜですか?

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

android - 活動のための授業の延長

Android (Java) 開発はまったくの初心者で、とてもワクワクしています。Google のデベロッパー ガイドは素晴らしく、短期間で多くのことを学びました。夜中に目が覚めることさえあります;)

今日、メニューを作ってみたのですが、わからないことがあります。クラスの延長についてです。ガイドには次のように書かれています。

ヒント: アプリケーションに複数のアクティビティが含まれており、それらのいくつかが同じオプション メニューを提供する場合は、onCreateOptionsMenu() メソッドと onOptionsItemSelected() メソッド以外は何も実装しないアクティビティを作成することを検討してください。次に、同じオプション メニューを共有するアクティビティごとにこのクラスを拡張します。この方法では、メニュー アクションを処理するためのコード セットを 1 つだけ管理する必要があり、各子孫クラスはメニューの動作を継承します。

私が得られないポイントは、クラスを拡張する方法です... MainActivitySubActivityがあるとしましょう。両方のアクティビティで同じメニューを使用したいので、MainMenuActivityを作成します。このクラスを両方のアクティビティに拡張するにはどうすればよいですか?

はい、ネットで検索しましたが、使用可能なものが見つかりませんでした。本当に理解したいので、誰かがサンプルコードと説明を手伝ってくれることを願っています。前もって感謝します!!