問題タブ [comparison-operators]

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

python - 「is」を使用する理由はありますか?

「==」の代わりに?私は「何であるか」を知っています、それは変数のアイデンティティを比較しています。しかし、いつそれをやりたいと思いますか?それが私のためにしたことは、問題を引き起こすことだけです。しばらく使用した後(コードが読みやすくなったと感じたため)、「is」に対する宣戦布告はしていません。

誰かが「==」がしない何かのためにそれを使用しますか?なぜ彼らが'を作らなかったのか理解できません'は'=='と同じです、'そして'は'&&'と同じです。誰かがポインタを欲しがっているなら、彼らはただ「id」と言わなければなりません(x)== id(y) "であり、この混乱はありません。

それは私が理解していないPythonの「落とし穴」の1つであり、多くの初心者をつまずかせます。私がそれが人々をつまずかせると思う理由は、彼らがなぜそれがアイデンティティ比較をするのか理解できないからです。ポイントは何ですか?

編集:素晴らしい答えをありがとう。新しい人が奪うべきことは、「自分が何をしているのかわからない限り、常に「==」を使用する」ことだと思います。

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

javascript - JavaScript の二重等号 (==) は常に対称ですか?

JavaScript の型強制等値演算子が推移的でない場合が多くあります。たとえば、「JavaScript の等価推移性は変だ」を参照してください。

しかし、対称==でない場合はありますか? つまり、どこにあり、どこにあるのですか?a == btrueb == afalse

0 投票する
8 に答える
145209 参照

c++ - C++で構造体を比較しているときに==演算子が見つかりません

次の構造体の2つのインスタンスを比較すると、エラーが発生します。

エラーは次のとおりです。

エラーC2678:バイナリ'==':タイプ'myproj :: MyStruct1'の左側のオペランドをとる演算子が見つかりません(または受け入れ可能な変換がありません)

なんで?

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

c# - SystemまたはSystem.Coreの比較演算子の.NET列挙型を知っている人はいますか?

すべてのComparisonOperatorsを持つSystemまたはSystem.Coreに列挙型がありますか?

次の列挙型を書いたばかりですが、すでに存在している可能性があるので、十分に一般的なことのようです。

System.Web.UIで見つけましたが、そのhttp://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationcompareoperator(v = VS.100).aspx

また、私はすでに見ましたExpressionTypeが、私はそのような広い範囲の何かを望んでいません

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

php - PHP の変数比較問題

2 つの文字列が一致するかどうかを判断しようとしていますが、それらを印刷しても同じですが、一致しないと表示されます。両方を文字列としてキャストしようとしましたが、「==」の代わりに「===」を使用してみましたが、どちらも問題を解決しませんでした...

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

python - Python で「True == not False」が構文エラーになるのはなぜですか?

ブール値を==Python で動作するように比較します。しかし、ブールnot演算子を適用すると、結果は構文エラーになります。

なぜこれは構文エラーですか? not Falseブール値を返す式であり、有効な構文を持つ式がTrue == <x>どこにあっても有効な構文であることが期待され<x>ます。

0 投票する
11 に答える
155890 参照

php - 負の数の検出

PHPで数値が負かどうかを検出する方法があるかどうか疑問に思っていましたか?

次のコードがあります。

が否定的かどうかを調べる必要があり、$profitloss否定的である場合は、否定的であることをエコーする必要があります。

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

logic - Stataの3値比較演算子?

私のStatadoスクリプトでは、欠落している可能性のある日付を比較しなければならないことがよくあります。残念ながら、の内部表現は.指定された範囲の可能な最大数であるため、次のようになります。

これは、日付が特定の範囲内にあるかどうかを確認する場合など、非常に煩わしいものになる可能性があります。

次の代わりに:

3値論理で動作する比較演算子を使用する方法はありますか?

つまり、私は次のステートメントが真実であることを望みます:

0 投票する
7 に答える
880 参照

php - 比較、!== 対 !=

値のみを比較!==しながら、変数の型を比較す​​るためにも使用されることを私は知っています。!=

しかし、多くの人が!==値を比較するときに使用していることがわかります。たとえば、次のようになります。

彼らがこれを行う理由はありますか?または何!==よりも速いですか?!=

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

ruby-on-rails - Ruby ===左側の引数がクラスの場合、そのように動作しません

Rails3.0.1でRuby1.8.7を使用していますが、根本的な原因が「配列===オブジェクト」操作であると思われる問題が発生しています。私は以前、自分で作成したクラスで同じ動作を確認し、「===」演算子を使用せずにその動作をプログラムしました(Rubyの知識にはまだかなり制限されている欠陥があると思いました)。しかし、ActionPack内で発生しているので、それについて何かをする必要があります。

これは、FormHelperの「fields_for」が正常に動作していなかったときに表面化しました。次のビューコードスニペット(「<%%>」は読みやすさを向上させるために削除されました):

form_forヘルパーメソッド内にエラー「ActionView::Template :: Error(undefined method `model_name'for Array:Class):"」が表示されました。「case」コマンドの間違ったブランチを実行していると判断し、ブレークポイントを設定してテストを開始しました。結果は次のとおりです。

これは、「record_or_name_or_array」が間違いなく配列であるのに対し、「Array===record_or_name_or_array」がfalseを返していることをかなり明確に示しています。

ところで、「@ f.fields_for」の構文が間違っていると思われる場合は、「@f」を使用する場合と使用しない場合の両方で試してみました。同じ結果が得られました。RoRとマシンも再起動しましたが、結果は変わりません。