Ruby の「not」と「!」の違い 質問する

Ruby の「not」と「!」の違い 質問する

notと は同義語ですか!、それとも異なる評価をされますか?

ベストアンサー1

これらはほぼ同義ですが、完全に同義ではありません。違いは、 がよりも!優先順位が高いのとnot同様に&&、が||や よりも優先順位が高いことです。andor

!全ての演算子の中で最も優先順位が高く、not最も低い演算子の1つです。Rubyドキュメントの完全な表

例として、次のことを考慮してください。

!true && false
=> false

not true && false
=> true

最初の例で!は、最高優先順位は なので、実質的には と言っていることになりますfalse && false。2
番目の例では、のnot優先順位は よりも低いので、 がからにtrue && false「切り替え」られました。falsetrue && falsetrue

!一般的なガイドラインとしては、 を使用する特別な理由がない限り、に固執する必要があるようですnot。Ruby!では、 は他のほとんどの言語と同じように動作し、 よりも「驚きが少ない」ですnot

おすすめ記事