問題タブ [descriptor]

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

c++ - Symbian記述子の割り当てに関する問題

もう一度、SymbiansDescriptorsと格闘しています...

次に、メンバーiNameを持つTEntryオブジェクトがあります。このiNameにfileNameを割り当てたいと思います。私はそれを次のようにしようとしました:

-

ファイル名をentry.inameにコピーするために別の関数を使用する必要がありますか?

どうもありがとう

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

python - パススルー __set__ コマンドを使用した Python データ記述子

私が見ている問題を解決するのに少し問題があります。プログラム全体で使用される特殊な関数セットがあります。これらは基本的に、関数とメソッドを置き換えることができる動的呼び出し可能オブジェクトです。メソッドの機能をエミュレートするために適切に機能させる必要があるため、これらの関数はオーバーライド__get__して、取得オブジェクトへのアクセスを提供するラップされたバージョンを提供します。

残念ながら、__get__関数がインスタンスに直接設定されている場合は機能しません。これは、インスタンス__get__の でキーが見つかった場合、「データ記述子」のみが関数を呼び出すためです。__dict__頭に浮かぶ唯一の解決策は、これがデータ記述子であると考えるようにpythonをだますことです。これには__set__、記述子での関数の作成が含まれます。理想的には、この__set__関数がパススルーとして機能することを望みます (制御を呼び出し元に戻し、存在しないかのように評価を続けます)。

ディスクリプタがデータ ディスクリプタであると python に思わせる方法はありますが、それを含むクラス/インスタンスがその setattr コマンドを通常どおり使用できるようにする方法はありますか?

__getattribute__また、呼び出し元のオーバーライドを使用してこれを行うことができることも承知しています。ただし、「オブジェクト」ビルトインとそれをオーバーライドするものに対してこれを行う必要があるため、これは悪い解決策です。正確には素晴らしい解決策ではありません。

あるいは、別の解決策があれば喜んでお聞きします。

問題の例を次に示します。


一貫性を維持するために、最後のケースは「なし」と出力する必要があります。

記述子にa を追加する__set__と、(必要に応じて) 'None' が出力されます。ただし、これにより、 xa = (何らかの値) のコマンドが以前のように機能しなくなります。この機能を台無しにしたくないので、これは役に立ちません。どんな解決策も素晴らしいでしょう。

訂正: 記述子の処理を少し誤解していたため、私の以前の考えはまだ機能しません。どうやら、記述子がクラスにまったくない場合、 set に関係なく呼び出されることはありませ。私が持っていた条件は、dict val と同じ名前のクラス アクセサーがある場合にのみ役立ちます。私は実際には、http://blog.brianbeck.com/post/74086029/instance-descriptorsの行に沿ったソリューションを探していますが、太陽の下のすべてが特殊なインターフェースを継承することは含まれていません。

残念ながら、記述子インターフェイスのこの新しい理解を考えると、これは不可能かもしれません? なぜpythonはデコレータを本質的に非動的にするのでしょうか?

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

c++ - Symbian文字の印刷

私は、Webサービスを作成し、実際にsymbian環境からサービスを呼び出すことができるという非常に単純な概念実証を構築しようとしています。このサービスは、const char *の形式で名前を取り、char*の形式で"hello"+nameの形式のグリーティングを返す単純なHelloサービスです。私の質問は、char *をTPtrC16に変換して、console-> Write関数を使用して画面への応答を出力できるようにするにはどうすればよいですか?APIを検索してこれを理解できることはわかっていますが、基本的な概念のデモでは、時間をかけたくありません(Symbianが再び使用するものかどうかはわかりません)。

ありがとう!

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

c++ - const char* ~ TDesC16

削除するファイルを指定する const char* があります。RF::Delete を使用して、TDesC16 を入力引数とするファイルを削除したいと考えています。誰でも簡単に変換する方法を知っていますか

どうもありがとう、

0 投票する
6 に答える
630 参照

parsing - バイトストリームから可変長記述子を解析し、それらのタイプに基づいて動作する

コード内でさまざまな構造体/クラスとして表現している一連の可変長記述子を含むバイトストリームから読み取っています。各記述子には、そのタイプを識別するために使用される他のすべての記述子と共通の固定長ヘッダーがあります。

各記述子を最適に解析および表現し、そのタイプに応じて適切なアクションを実行するために使用できる適切なモデルまたはパターンはありますか?

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

python - 記述子マジックなしのpython属性ルックアップ?

私が書いてきたコードでは、python記述子プロトコルをより広範囲に使用し始めました。通常、デフォルトの python ルックアップ マジックを実行したいのですが、__get__メソッドの結果ではなく記述子オブジェクト自体を取得したい場合があります。記述子のタイプ、または記述子に格納されているアクセス状態などを知りたい。

以下のコードを書いて、正しい順序であると思われる名前空間をたどり、記述子であるかどうかに関係なく、生の属性を返します。これを行うための組み込み関数や標準ライブラリの何かが見つからないことに驚いています-そこにある必要があると思いますが、それに気づいていないか、適切な検索用語をグーグル検索していません。

Python ディストリビューションのどこかに、既にこれを行っている機能 (または同様のもの) はありますか?

ありがとう!

2009 年 10 月 28 日水曜日を編集。

Denis の答えは、記述子オブジェクト自体を取得するために記述子クラスで使用する規則を教えてくれました。しかし、私は記述子クラスのクラス階層全体を持っていたので、すべて __get__の関数をボイラープレートで始めたくありませんでした

これを回避するために、記述子クラス ツリーのルートを次のものから継承させました。

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

python - 複数の属性に記述子(編集:単一のデコレータではありません)を使用しますか?

Python2.5.4。Pythonはかなり新しく、昨夜の時点でデコレータはまったく新しい。複数のブール属性を持つクラスがある場合:

単一のデコレータを使用して、ブール属性のいずれかの設定がブールでなければならないことを確認し、これらの変数の要求された1つのブール値を返す方法はありますか?

言い換えれば、属性ごとにこのようなものとは対照的に?

私はそれを次のようなものとして書き込もうとしました:

それは私に与えます:

これを正しく行う方法についての指針はありますか?

ありがとう、

ポール

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

.net - .NET は Windows/Linux のプロセスとスレッドに何を追加しますか?

私の知る限り、.NET は Windows プロセスを使用しています。

Windows スレッド/プロセス記述子に含まれる情報に、どのような追加の状態情報と機能が追加されますか?

Linux (Mono) では何が違うのでしょうか?

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

python - クラス間で値を共有するPython記述子

私が使用しているPython記述子は、その所有者クラスのすべてのインスタンス間でその値を共有しています。各インスタンスの記述子に独自の内部値を含めるにはどうすればよいですか?

出力は次のとおりです。最後の呼び出しで両方のオブジェクトの値が設定されます。

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

python - __get__、__set__、および __del__ を呼び出すことができるのは誰ですか?

これは私のコードです。なぜうまくいかないのかわかりません。

私の英語はあまり上手ではないので、コードで答えてみてください。ありがとうございました。