プログラミング未経験者の学習日記

私が学習した内容のまとめサイトです。

【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となります。