{category}

Ruby - 演算子

!

エクスクラメーションマーク(言語の基礎

意味 論理否定演算子


!とは?

!は、論理否定(NOT)演算子です。真偽値を反転させます。trueをfalseに、falseをtrueに変換します。条件の否定によく使われます。

!の具体的な使い方

条件の否定

sunny = true

if !sunny
  puts "今日は曇りか雨かもしれません。傘を持っていきましょう。"
else
  puts "今日は晴れです。日差しに注意しましょう。"
end

👇出力結果

今日は晴れです。日差しに注意しましょう。

この例では、!演算子を使って条件を否定しています。sunnyが真(晴れ)の場合、!sunnyは偽となるため、else節が実行されます。!演算子は条件を反転させるので、直感的な条件分岐を書くのに役立ちます。

真偽値の反転と二重否定

value = false
inverted = !value
double_inverted = !!value

puts "元の値: #{value}"
puts "反転後の値: #{inverted}"
puts "二重否定後の値: #{double_inverted}"
puts "'hello'の否定: #{!'hello'}"
puts "空文字列の否定: #{!''}"
puts "nilの否定: #{!nil}"
puts "0の否定: #{!0}"

👇出力結果

元の値: false
反転後の値: true
二重否定後の値: false
'hello'の否定: false
空文字列の否定: false
nilの否定: true
0の否定: false

この例では、!演算子を使って様々な値の否定を示しています。また、!!(二重否定)を使用して、任意の値を真偽値に変換する方法も示しています。Rubyでは、false と nil 以外のすべての値が真とみなされることに注意してください。

!に関するよくある質問

Q. !と!=の違いは何ですか?
A. !は論理否定演算子で、真偽値を反転させます。!=は不等価演算子で、2つの値が等しくないかを比較します。!はboolean値に対して使用し、!=は任意の値の比較に使用します。
Q. !!(二重否定)の意味は?
A. !!は二重否定で、値を真偽値に変換するために使用されます。最初の!で値を反転し、次の!でさらに反転するため、結果的に元の真偽値と同じになりますが、明示的にboolean型に変換されます。
Q. !を使う際の注意点は?
A. !は真偽値以外の値に対しても使用できますが、予期せぬ結果を招く可能性があります。例えば、!0は真となり、!""(空文字列)も真となります。明示的に比較する方が安全な場合もあります。

!が学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、Rubyの!やdef、end、return、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

def

メソッドの定義を開始

種類: メソッド定義と呼び出し

end

ブロックやメソッドの終了

種類: メソッド定義と呼び出し

return

メソッドの戻り値を指定

種類: メソッド定義と呼び出し

break

ループを途中で抜ける命令

種類: ループ

Thread

並列処理を実現する機能

種類: スレッド