問題タブ [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.
c++ - ビットストリームから Float 型への強制変換
次のコードを正しく動作させるのに問題があります。オンラインの IEEE-754 コンバーターを使用して、浮動小数点数 75.5 を表すビット文字列が読み取られる testData.txt ファイルに (手動で) 書き出しました。実際の cout.write は、ビット文字列も期待どおりであることを示しています。ただし、ユニオンを使用して char* を float に強制しようとすると (この変換を行う典型的な方法であることがわかりました)、結果の float は期待した数値ではありません。
これを実行すると返される結果は次のとおりです。
これを正しく機能させるために、私が行っていない基本的なことはありますか?
ruby - nil を数値に強制する
ここで何が起きてるの??
nil を数値に変換して算術演算を安全に実行するにはどうすればよいでしょうか?
c# - xmlの文字列値をブール値に強制することは可能ですか?
私がこのようなxmlを持っているとしましょう:
C#クラスは次のようになります。
Activeプロパティをtypeに変更しbool
、XmlSerializerにbool値に「Yes」「No」を強制させることは可能ですか?
編集:Xmlを受信しましたが、変更できません。したがって、実際には、逆シリアル化のみに関心があります。
perl - オブジェクトまたは参照に有効な文字列強制が含まれているかどうかを確認するにはどうすればよいですか?
(さまざまなデータ変更をログに記録しているときに)参照に有効な文字列強制が含まれているかどうかを判断する必要がある状況に遭遇しました(たとえば、ログに適切に印刷したり、データベースに保存したりできます)。Scalar :: Utilにはこれを行うための機能がないため、そのライブラリの他のメソッドを使用して何かをまとめました。
ただし、変数の内臓を何らかの方法で検査することで、これを判断するためのより良い方法があるのではないかと思います。どうすればこれをより良くすることができますか?
f# - F#リターン型強制
F#には、System.Linq.Expressionインスタンスを返す関数があります。
戻り値の型強制を省略すると、F#は関数の戻り型をConstantExpressionに推測します。私の最初の考えは、戻り型を#Expressionとして明示的にマークすることでしたが、それは機能しませんでした。リターン型を最も一般的な型に手動でキャストすることを伴わない、これを行うためのより洗練された方法はありますか?
ありがとう。
編集:答えてくれた皆さんに感謝します。明示的なリターンタイプ+アップキャストシナリオを使用します。
ruby - Ruby では、coerce() は実際にどのように機能しますか?
クラスがあり、次のようPoint
に実行する方法を知っていると言われています。point * 3
出力:
しかしその後、
理解されていません:
Point
Fixnum
(TypeError
)に強制することはできません
したがって、インスタンス メソッドをさらに定義する必要がありますcoerce
。
出力:
3 * point
だから と同じだと言われてい3.*(point)
ます。つまり、インスタンス メソッド*
は引数を取りpoint
、 object を呼び出します3
。
さて、このメソッド*
は点を掛ける方法がわからないので、
が呼び出され、配列が返されます。
そして*
もう一度それに適用されます、それは本当ですか?
これで、これが理解され、クラスPoint
のインスタンス メソッドによって実行されるように、新しいオブジェクトが作成されました。*
Point
質問は:
誰が呼び出すの
point.coerce(3)
ですか?それは自動的にRubyですか、それとも例外をキャッチしての*
メソッド内のコードですか?Fixnum
それともcase
、既知のタイプのいずれかがわからない場合に呼び出すステートメントによるものcoerce
ですか?coerce
常に 2 つの要素の配列を返す必要がありますか? 配列ではありませんか?それとも、3要素の配列にすることができますか?そして、要素 1 の引数を使用して、元の演算子 (またはメソッド)
*
が要素 0 で呼び出されるという規則はありますか? (要素 0 と要素 1 は、 によって返される配列内の 2 つの要素coerce
です。) 誰がそれをしますか? それはRubyによって行われますか、それともコードで行われますFixnum
か? のコードで行うFixnum
場合、強制を行うときに誰もが従うのは「慣例」ですか?したがって、次のようなこと
/li>*
を行うコードである可能性があります。Fixnum
Fixnum
では、インスタンス メソッドに何かを追加するのは本当に難しいのcoerce
でしょうか。すでに多くのコードが含まれており、数行を追加して機能を強化することはできません (ただし、そうしたいことはありますか?)
/li>coerce
クラス内のはPoint
非常に一般的であり、*
または+
それらが推移的であるために機能します。Point から Fixnum を引いたものを次のように定義した場合など、推移的でない場合はどうなるでしょうか。
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は演算子です)。
c++ - C++ の型強制に関する簡単な質問
関数プロトタイプと型定義が与えられた場合:
次の状況は、標準で定義されていますか?
関数プロトタイプを介して予想どおりに型強制を取得しますか?
c# - 依存関係プロパティの強制バインディングの問題
VS2008とVS2010の両方をインストールしましたが、非常に奇妙な動作が見られます
VS2008には、単純なWPFアプリがあります。
と
テキストボックスにランダムな文字列を入力してタブを押すと、textbox.Textが「強制値」にリセットされると思います。デバッグすると、アプリが強制機能で壊れているのにUIが更新されていないことがわかります。
興味深いことに、これと同じコードがVS2010で機能し、UIは強制値で更新されます。誰かが何が起こっているのか考えていますか?
WPFのバグですか?または私は何かが欠けていますか?
c# - ボックスの内容を知らずにuint/intをアンボックス化する
私はobject o
箱入りであることが知られているint
またはuint
:
ボックスに何が入っているのかわかりません。気になるのは、int
またはに強制したい4バイトがあることだけですuint
。これは、unchecked
(ボックスではなく)値があるコンテキストで正常に機能します。
注:デフォルトでは、C#のすべてがチェックされていません。リテラルを処理していて、コンパイラーが本当に自分自身を足で撃ちたいかどうかを知りたいので、チェックされていないコンテキストはここでのみ必要です。
問題は、ボックス内の内容がわからないことです(4バイト以外)が、間違ったタイプにボックスを解除しようとすると、ランタイムがそうしますInvalidCastException
。私はこれが妥当な実行時の動作であることを知っていますが、この場合、私は自分が何をしているのかを知っており、「チェックされていないボックスから外す」必要があります。そのようなものは存在しますか?
再試行できることはわかっているcatch
ので、それは答えとしてカウントされません。