Rubyのビックリマークの意味
Rubyにおけるビックリマーク(!)にはいくつかの使い方があります。
1. 破壊的メソッド
メソッド名の末尾にビックリマークが付くと、そのメソッドが破壊的(destructive)であることを示します。
つまり、元のオブジェクトを変更するメソッドです。
例えば、String クラスの gsub! メソッドは、文字列を置換する際に元の文字列を直接変更します。
str = "hello" str.gsub!("e", "a") puts str # "hallo" と表示される
2. 論理否定
ビックリマークを単独で使うと、論理否定の意味になります。
! は後ろの値を否定するために使います。
例えば、!true は false になります。
x = true puts !x # false と表示される
3. 二重否定
!!(ビックリマークが2つ)は、値を真偽値(boolean)に変換するために使います。
これは値が nil または false でない限り true を返します。
puts !!"some string" # true と表示される puts !!nil # false と表示される
これらの使い方によって、Rubyでのビックリマークは異なる意味を持ちます。
文脈によって使い分けることが重要です。