問題タブ [coerce]

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 に答える
3122 参照

c# - C#の同一レイアウトを使用して異なる名前空間の型を強制する

FedEx の Web サービス API のインターフェースを書き始めました。私が興味を持っている 3 つの異なる API があります。レート、発送、追跡。SvcUtil.exe を使用してサービス プロキシを生成しています。

異なるサービス エンドポイントは、それぞれ独自の WSDL ファイルで FedEx によって指定されます。各サービス エンドポイントには独自の xml 名前空間があります (例: http://fedex.com/ws/rate/v5およびhttp://fedex.com/ws/ship/v5 )

サービス エンドポイントは、Address、Measurements、Weight、AuthenticationDetail、ClientDetail など、かなりの数の同じタイプを使用します。

ここに問題があります。すべての WSDL ファイルを同時に SvcUtil.exe に提供できます。通常は、同一の型を 1 つの共有型に結合しますが、FedEx のサービスはそれぞれ独自の名前空間にあるため、それらは、その名前空間の下の各 WSDL ファイルでこれらの型を再宣言します。代わりに、名前空間ごとに 1 つの Address、Address1、および Address2 になります。

この問題を解決するために、svcutil を介して各 WSDL を個別に実行し、それらをそれぞれ独自の .NET 名前空間 (FedEx.Rate、FedEx.Ship、FedEx.Track など) に配置することで、この問題を解決しています。これに関する問題は、各名前空間 (Fedex.Rate.Address、FedEx.Ship.Address) に個別のアドレス タイプがあることです。

これにより、GetAuthenticationDetail() ファクトリ メソッドのようにサービス間で使用されるコードを一般化することが難しくなるため、さまざまなサービスを使用するすべての場所でそのコードを繰り返す必要がなくなります。

C#でFedEx.Rate.AddressをFedEx.Ship.Addressに強制する方法はありますか?

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

ruby - Ruby では、coerce() は実際にどのように機能しますか?

クラスがあり、次のようPointに実行する方法を知っていると言われています。point * 3

出力:

しかしその後、

理解されていません:

PointFixnum( TypeError)に強制することはできません

したがって、インスタンス メソッドをさらに定義する必要がありますcoerce

出力:

3 * pointだから と同じだと言われてい3.*(point)ます。つまり、インスタンス メソッド*は引数を取りpoint、 object を呼び出します3

さて、このメソッド*は点を掛ける方法がわからないので、

が呼び出され、配列が返されます。

そして*もう一度それに適用されます、それは本当ですか?

これで、これが理解され、クラスPointのインスタンス メソッドによって実行されるように、新しいオブジェクトが作成されました。*Point

質問は:

  1. 誰が呼び出すのpoint.coerce(3)ですか?それは自動的にRubyですか、それとも例外をキャッチしての*メソッド内のコードですか? Fixnumそれともcase、既知のタイプのいずれかがわからない場合に呼び出すステートメントによるものcoerceですか?

  2. coerce常に 2 つの要素の配列を返す必要がありますか? 配列ではありませんか?それとも、3要素の配列にすることができますか?

  3. そして、要素 1 の引数を使用して、元の演算子 (またはメソッド)*が要素 0 で呼び出されるという規則はありますか? (要素 0 と要素 1 は、 によって返される配列内の 2 つの要素coerceです。) 誰がそれをしますか? それはRubyによって行われますか、それともコードで行われますFixnumか? のコードで行うFixnum場合、強制を行うときに誰もが従うのは「慣例」ですか?

    したがって、次のようなこと*を行うコードである可能性があります。Fixnum

    /li>
  4. Fixnumでは、インスタンス メソッドに何かを追加するのは本当に難しいのcoerceでしょうか。すでに多くのコードが含まれており、数行を追加して機能を強化することはできません (ただし、そうしたいことはありますか?)

  5. coerceクラス内のはPoint非常に一般的であり、*または+それらが推移的であるために機能します。Point から Fixnum を引いたものを次のように定義した場合など、推移的でない場合はどうなるでしょうか。

    /li>
0 投票する
1 に答える
309 参照

ruby - Rubyでcoerce()を使って「20点」「20点」を実装する方法は?

Ruby では、

実施する予定です。

しかし、次のコード:

出力:

30 - p実際にp - 30は、強制機能によって取得されます。動作させることはできますか?

-メソッドがこのように引数を強制しないことに、私は実際に驚いています:

つまり、関数は を返すnegated version of a - bだけでなく、 a を返しますa - b

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

ruby - Rubyでは、coerce()メソッドは、強制するために助けが必要な演算子を知ることができますか?

Rubyでは、多くのcoerce()ヘルプを次の方法で実行できるようです。

つまり、いつ

が必要な場合、Fixnum3はRationalの追加を処理する方法を知らないため、rational.coerce(3)を呼び出してRational#coerceにヘルプを要求し、この強制インスタンスメソッドは呼び出し元に次のように通知します。

では、ほとんどのオペレーターがこのメソッドを使用できるが、(a --b)!=(b --a)の状況では使用できない場合はどうなるでしょうか。coerce()は、それがどの演算子であるかを認識し、それらの特殊なケースを処理するだけで、(a op b)==(b op a)である他のすべてのケースを処理するために単純な[self、something]を使用できますか?(opは演算子です)。

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

wpf - コンテンツが変更される前の WPF DependencyProperty イベント

最初に、問題のコンテキストを説明します。より良い方向に私を向けることができるかもしれないからです.

オブジェクトに取り消しとやり直しのようなシステムを実装する必要があります。オブジェクトには、一連の依存関係プロパティがあります。一部は double、int、string ですが、一部は DependencyObject 型でもあります。プロパティの値を変更する前に保存する必要があるため、CoerceValueCallback を追加しました。

OnPropertyChanging では、変更する前に値を保存します。MyCustomizableBackground は、いくつかの依存関係プロパティを持つ DependencyObject です。

問題は、この場合、プロパティとしてカスタム オブジェクトがある場合、OnPropertyChanging メソッドはトリガーされませんが、共通の型がある場合はトリガーされることです。

後で編集: 質問の一部が非常に曖昧であることに気付き、別の質問をしました here . 問題の最初の部分で、ジュリアンは私をより良い方向に向けました。

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

r - write.table経由でRプログラム(ex)を使用して、「.rtest」出力をファイルに書き込みますか?

私はRを使用して、保存された.csvファイルを特定のペアワイズ方法で開き、統計テストを実行しています(mantel.rtestパッケージ「ade4」に含まれています)。.csv ファイルは、「fileAX」または「fileBY」のいずれかの順番で名前が付けられます。ここで、X と Y は整数です。

このテストの結果を 1 つのファイルに保存したいのですが、いくつか問題が発生しています。

コードは次のとおりです (「貼り付け」の非効率的な使い方をお許しください:

これを実行しようとすると、次のエラー メッセージが表示されます。

「unlist」や「as.vector」などのさまざまな関数を使用して、「mantelout」をより使いやすい形式に変換しようとしましたが、役に立ちませんでした。何かご意見は?

ありがとう、WAW

編集: R 環境でのこのテストの出力は次のようになります。

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

python - Python: 新しいスタイルのクラスを強制する

このコードを「そのまま動作」させたい:

もちろん、簡単な方法は と書くことですint(c)/3が、設定用のミニ言語として、より単純な perl 風の構文を有効にしたいと考えています。

「古いスタイル」のクラス (オブジェクトから継承しない) を使用する場合、__coerce__メソッドを定義するだけでこれを非常に簡単に実行できることは注目に値しますが、古いスタイルのクラスは非推奨であり、python3 で削除されます。

新しいスタイルのクラスで同じことをすると、次のエラーが発生します。

これは設計によるものだと思いますが__coerce__、新しいスタイルのクラスで古いスタイルの動作をシミュレートするにはどうすればよいですか? 以下に私の現在の解決策を見つけることができますが、それはかなり醜く、長々としたものです。

これは関連するドキュメントです:(私は思う)

ボーナスポイント:

0 投票する
9 に答える
88170 参照

r - データ フレームを xts に変換する

as.xts() メソッドを使用して、データ フレームを xts オブジェクトに変換しようとしています。ここに私の入力データフレームqがあります:

結果は次のとおりです。

これは私が考えることができる最も単純な例なので、それが機能しないのは非常にイライラします...どんな助けも大歓迎です!

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

python - 派生クラスで __coerce__() メソッドを呼び出すとエラーが発生する

私の試行は以下のようでしたが、うまくいきませんでした。

Pythonコマンドラインで次のように入力しました:

結果:

__coerce__()クラスを派生させずにメソッド を使用すると、 の結果は にx+y等しくなりradd called // 32ます。ただし、派生クラスではエラーが発生します。

助けてください。旧正月、よろしくお願いします。

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

perl - スカラーからarrayrefへの強制でAoArrayrefs属性を設定するにはどうすればよいですか?

非配列参照を配列参照に強制する配列参照の配列である属性を設定したいと思います。例えば。

[0、[0、0、0]、[1,2,3]]を[[0]、[0、0、0]、[1,2,3]]に

また、強制的に要素をAoAにプッシュまたは設定できるようにしたいと思います。これが私の試みです: