【Ruby】対象のオブジェクトが配列(array)かどうか確認する方法

こんにちは!CodeClub965のKです!

今回は、Rubyで対象のオブジェクトが配列かどうか確認する方法について記事にしようと思います。

あまり使う機会がないかもしれませんが、もしもの時の参考にしてもらえたらと思います。

instance_of? を使う

方法として、「instance_of?」を使うことで判断することができます。

似たメソッドに「kind_of?」もありますが、その違いについては、また別の記事で解説したいと思います。

下に簡単なコード例を載せて解説したいと思います。

obj = ["A", "B", "C"]
    
    if obj.instance_of?(Array)
      logger.debug("配列です")
    else
      logger.debug("文字列です")
    end

objは、配列になっており「obj.instance_of?(Array)」とすることで配列かどうか判断しています。

ちなみに「obj = "A"」となった場合は、「文字列です」のログが出力されます。
また、「instance_of?」のところは、「kind_of?」でも同じ結果になります。

最後に

今回は短めの記事でしたが、「instance_of?」とよく違いについて分からなくなるのが、「is_a?」と「kind_of?」です。

その違いについては、別の記事で詳しく解説したいと思います。

それでは、また!

Follow me!