問題タブ [equality]
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.
javascript - 文字列と等しい JavaScript の暗黙的な変換
true == "true"
JavaScript は比較とに対してどのように動作します(0 == "0")
か?
.net - ハッシュセットと、すべてのメンバーが同一のクラスの異なるインスタンス
myclass というクラスがあるとします。
私のコードには、myclass の 2 つのインスタンス、myclass1 と myclass2 があります。それらについてのすべては、(パブリックおよびプライベート)プロパティが同一であることです。
それらの両方を HashSet に追加しようとすると、両方または 1 つだけが追加されますか? 両方を追加したくない場合は、myclass 定義で equals を上書きできますか? HasSet はそれを使用する方法を知っていますか?
math - Prolog =:=演算子
Prologにはいくつかの特別な演算子がありますが、そのうちの1つはis
最近、演算子に出くわし、=:=
それがどのように機能するのかわかりません。
誰かがこの演算子が何をするのかを説明できますか?また、そのような特別な演算子の事前定義されたリストとそれらが何をするのかをどこで見つけることができますか?
c# - C# - リスト.Remove() は常にリストの最初のオブジェクトを削除します
Visual Studio 2008 (C#) での作業... List コレクションを使用して、カスタム クラス (Shift) のインスタンスを格納します。
Remove メソッドを使用して、特定のシフトをリストから削除したいと考えています。
ただし、 List.Remove() は常に最初に見つかったアイテムを削除します。
Shift に IComparable インターフェイスを実装しました。これで十分だと思い、IEqualityComparer の実装を追加しましたが、まだ効果がありません。
これが私の実装の抜粋です。
リージョンI比較メンバー
エンドリージョン
regionIEqualityComparer メンバー
エンドリージョン
それでも、リストに 2 つのシフトが含まれている場合は、「8:00 - 15:00」と言います。"12:00 - 16:00"、Remove("12:00-16:00") を呼び出すと、"8:00 - 15:00" が削除され、後者はコレクションに残ります!
ここで何が問題なのですか?どうも
java - doubleがNaNに等しいかどうかを確認するためにどのようにテストしますか?
Javaにdoubleがあり、それがであるかどうかを確認したいと思いNaN
ます。これを行うための最良の方法は何ですか?
python - '=='または'is'のいずれかを使用して文字列を比較すると、異なる結果が生成されることがあるのはなぜですか?
2つの変数が値に設定されているPythonプログラムがあります'public'
。var1 is var2
条件式では、失敗する比較がありますが、これに変更するとvar1 == var2
、が返されますTrue
。
ここで、Pythonインタープリターを開いて、同じ「is」比較を行うと、成功します。
ここで何が欠けていますか?
javascript - JavaScript:{} == falseはSyntaxErrorですか?
Firefox 3.5では、Firebugコンソールに次のように入力します。
これの説明は何ですか?
c# - 2 つのリストの比較平等のために
要素を 1 つずつステップ実行する以外に、2 つの文字列リストを比較して等価性を確認するにはどうすればよいですか (.NET 3.0 の場合):
これは失敗します:
python - コレクションクラスの__eq__メソッドの良い例は何ですか?
__eq__
メソッドを作成したいコレクションクラスに取り組んでいます。思ったよりも微妙なニュアンスがあり、組み込みのコレクションクラスがどのように機能するかについては、いくつかの複雑さに気づきました。
本当に私を最も助けてくれるのは良い例です。__eq__
標準ライブラリまたはサードパーティライブラリのいずれかに、メソッドの純粋なPython実装はありますか?
c# - 値オブジェクトの IEqualityComparer
IPathwayModule という不変の値オブジェクトがあり、その値は次のように定義されています。
- (整数) ブロック。
- (エンティティ) モジュール。(文字列) ModuleId で識別されます。
- (列挙) ステータス。と
- (エンティティ) (文字列) ClassId で識別されるクラス - null の場合もあります。
これは、いくつかの単体テストで機能するように見える現在の IEqualityComparer 実装です。しかし、自分が何を正しく行っているかを十分に理解しているとは思えません。以前の実装では、繰り返しテストを実行すると失敗することがありました。
IPathwayModule は間違いなく不変であり、同じ値を持つ異なるインスタンスは等しく、同じ HashCode を生成する必要があります。それらは HashSet 内の項目として使用されるためです。
私の質問は次のとおりです。
- この場合、インターフェイスを正しく使用していますか?
- 望ましい動作が見られない場合はありますか?
- 堅牢性、パフォーマンスを向上させる方法はありますか?
- 私が守っていない良い習慣はありますか?