Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Array::intersect?()メソッドの使い方

intersect?メソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

intersect?メソッドは、RubyのArrayクラスに属し、二つの配列間に共通の要素が存在するかどうかを効率的に判定するメソッドです。このメソッドは、レシーバーである配列と、引数として渡された別の配列を比較します。

具体的には、呼び出し元となる配列と引数の配列の両方に一つでも同じ要素が見つかった場合、trueを返します。もし、両方の配列に共通の要素が一つも存在しない場合は、falseを返します。要素の比較は、Rubyの標準的な==演算子を用いて行われます。これは、数値や文字列はもちろん、==演算子が適切に定義されている独自のオブジェクトでも、その値が等しいかどうかを判断することを意味します。

このintersect?メソッドは、Ruby 3.0で導入された比較的新しい機能です。以前は、配列の共通部分を計算し、その結果が空でないことを確認する! (array1 & array2).empty?といった記述が必要でした。intersect?メソッドの登場により、こうした処理をより直感的で読みやすく、かつ簡潔なコードで表現できるようになりました。

システムエンジニアが開発を行う上で、コレクション間の関係性を確認したり、複数のデータセット間で重複する項目があるかどうかを判定したりする場面は頻繁にあります。例えば、ユーザーが持つ権限のリストと、特定の操作に必要な権限のリストが一部でも重なっているかを確認する、といった条件分岐のロジックを簡潔に表現する際に、このメソッドは非常に有用です。これにより、コードの可読性と保守性が向上します。

構文(syntax)

1[1, 2, 3].intersect?([3, 4, 5])

引数(parameters)

req

  • other: Array: 比較対象となる別の配列

戻り値(return)

Boolean

指定された二つの配列に共通の要素が存在するかどうかを判定し、真偽値(trueまたはfalse)を返します。

関連コンテンツ

関連プログラミング言語