Ruby | Rubyのinclude?メソッドとincludeメソッドの比較

Rubyのinclude?メソッドは、あるオブジェクトが配列や文字列の中に含まれているかどうかを判定するメソッドです。

例えば、以下のように書くことができます。

Ruby
array = [1, 2, 3, 4, 5]
puts array.include?(3)
実行結果
#=> true
string = "hello, world"
puts string.include?("world")
実行結果
#=> true

このように、配列や文字列に対してinclude?メソッドを使用することで、

指定した要素が含まれているかどうかを簡単に判定できます。

一方、includeメソッドは、あるクラスに別のモジュールを取り込むために使用されます。

このメソッドは、先程説明したinclude?メソッドとは異なります。

例えば、以下のようなモジュールがあるとします。

Ruby
module Greeting def say_hello puts "Hello!" end
end

このモジュールを別のクラスに取り込むためには、includeメソッドを使用します。

Ruby
class MyClass include Greeting
end

これにより、MyClassクラスにGreetingモジュールが取り込まれ、

MyClassのインスタンスでsay_helloメソッドを呼び出すことができます。

Ruby
my_class = MyClass.new
my_class.say_hello
実行結果
#=> "Hello!"

以上のように、includeメソッドとinclude?メソッドは全く異なる機能を持っています。

注意して使い分けるようにしましょう。