問題タブ [coercion]

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

c++ - ビットストリームから Float 型への強制変換

次のコードを正しく動作させるのに問題があります。オンラインの IEEE-754 コンバーターを使用して、浮動小数点数 75.5 を表すビット文字列が読み取られる te​​stData.txt ファイルに (手動で) 書き出しました。実際の cout.write は、ビット文字列も期待どおりであることを示しています。ただし、ユニオンを使用して char* を float に強制しようとすると (この変換を行う典型的な方法であることがわかりました)、結果の float は期待した数値ではありません。

これを実行すると返される結果は次のとおりです。

これを正しく機能させるために、私が行っていない基本的なことはありますか?

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

ruby - nil を数値に強制する

ここで何が起きてるの??

nil を数値に変換して算術演算を安全に実行するにはどうすればよいでしょうか?

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

c# - xmlの文字列値をブール値に強制することは可能ですか?

私がこのようなxmlを持っているとしましょう:

C#クラスは次のようになります。

Activeプロパティをtypeに変更しbool、XmlSerializerにbool値に「Yes」「No」を強制させることは可能ですか?

編集:Xmlを受信しましたが、変更できません。したがって、実際には、逆シリアル化のみに関心があります。

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

perl - オブジェクトまたは参照に有効な文字列強制が含まれているかどうかを確認するにはどうすればよいですか?

(さまざまなデータ変更をログに記録しているときに)参照に有効な文字列強制が含まれているかどうかを判断する必要がある状況に遭遇しました(たとえば、ログに適切に印刷したり、データベースに保存したりできます)。Scalar :: Utilにはこれを行うための機能がないため、そのライブラリの他のメソッドを使用して何かをまとめました。

ただし、変数の内臓を何らかの方法で検査することで、これを判断するためのより良い方法があるのではないかと思います。どうすればこれをより良くすることができますか?

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

f# - F#リターン型強制

F#には、System.Linq.Expressionインスタンスを返す関数があります。

戻り値の型強制を省略すると、F#は関数の戻り型をConstantExpressionに推測します。私の最初の考えは、戻り型を#Expressionとして明示的にマークすることでしたが、それは機能しませんでした。リターン型を最も一般的な型に手動でキャストすることを伴わない、これを行うためのより洗練された方法はありますか?

ありがとう。

編集:答えてくれた皆さんに感謝します。明示的なリターンタイプ+アップキャストシナリオを使用します。

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

c++ - C++ の型強制に関する簡単な質問

関数プロトタイプと型定義が与えられた場合:

次の状況は、標準で定義されていますか?

関数プロトタイプを介して予想どおりに型強制を取得しますか?

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

c# - 依存関係プロパティの強制バインディングの問題

VS2008とVS2010の両方をインストールしましたが、非常に奇妙な動作が見られます

VS2008には、単純なWPFアプリがあります。

テキストボックスにランダムな文字列を入力してタブを押すと、textbox.Textが「強制値」にリセットされると思います。デバッグすると、アプリが強制機能で壊れているのにUIが更新されていないことがわかります。

興味深いことに、これと同じコードがVS2010で機能し、UIは強制値で更新されます。誰かが何が起こっているのか考えていますか?

WPFのバグですか?または私は何かが欠けていますか?

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

c# - ボックスの内容を知らずにuint/intをアンボックス化する

私はobject o箱入りであることが知られているintまたはuint

ボックスに何が入っているのかわかりません。気になるのは、intまたはに強制したい4バイトがあることだけですuint。これは、unchecked(ボックスではなく)値があるコンテキストで正常に機能します。

注:デフォルトでは、C#のすべてがチェックされていません。リテラルを処理していて、コンパイラーが本当に自分自身を足で撃ちたいかどうかを知りたいので、チェックされていないコンテキストはここでのみ必要です。

問題は、ボックス内の内容がわからないことです(4バイト以外)が、間違ったタイプにボックスを解除しようとすると、ランタイムがそうしますInvalidCastException。私はこれが妥当な実行時の動作であることを知っていますが、この場合、私は自分が何をしているのかを知っており、「チェックされていないボックスから外す」必要があります。そのようなものは存在しますか?

再試行できることはわかっているcatchので、それは答えとしてカウントされません。