【Ruby入門】「!」と「?」がつくメソッドについて
「!」がつくメソッドについて
「!」がついているメソッドは大元のオブジェクトを書き換えるメソッドとなります。
例えばupcaseは文字列を大文字で返します。
name = "dai"
puts name.upcase
puts name
DAI
dai
upcase!とすると文字列を大文字で返し、さらに大元のオブジェクトを書き換えます。
name = "dai"
puts name.upcase!
puts name
DAI
DAI
大元のオブジェクトを書き換えることから破壊的メソッドと呼ばれます。
「?」がつくメソッドについて
「?」がつくメソッドは真偽値を返すメソッドとなります。
例えば文字列オブジェクトがからかどうか調べる「empty」というメソッドがあります。下記のように「?」をつけると真偽値(true、false)を返します。
name = "dai"
p name.empty? ※結果はfalseとなります。
特定の文字が含まれているか調べる「include」というメソッドがありますが、下記のように「?」をつけると真偽値(true、false)を返します。
name = "dai"
p name.include?("g") ※結果はfalseとなります。