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

【Ruby3.x】Gem::Requirement::=~()メソッドの使い方

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

作成日: 更新日:

基本的な使い方

=~メソッドは、Gem::Requirementオブジェクトが保持するバージョン要件と、指定されたバージョンとを比較し、要件を満たすかどうかを判定するメソッドです。

Gem::Requirementクラスは、Rubyのパッケージ管理システムであるRubyGemsが、インストールするGemのバージョンや、依存する他のGemのバージョンを指定・管理するために使用されるクラスです。この=~メソッドは、あるGemが特定の環境で動作するために必要なバージョン条件(例えば '>= 2.0.0''~> 1.0' など)が、実際に利用可能なバージョン(例えば '2.5.0')を満たしているかを効率的に確認するために設計されています。

このメソッドは引数としてversionを受け取ります。versionには、比較対象となるバージョンをString型、またはGem::Version型のオブジェクトとして指定します。メソッドは、Gem::Requirementオブジェクトが定義する要件が、引数で渡されたversionによって満たされている場合にtrueを返します。そうでない場合、つまり指定されたバージョンが要件を満たさない場合にはfalseを返します。

例えば、Gem::Requirement.new('>= 2.0').=~('2.5.0')を実行すると、'2.5.0''>= 2.0'の要件を満たすためtrueが返されます。一方、Gem::Requirement.new('~> 3.0').=~('2.9.0')を実行すると、'2.9.0''~> 3.0'の要件を満たさないためfalseが返されます。このように、開発者はこのメソッドを用いて、環境がGemの要件を満たしているかを手軽に検証することができます。

構文(syntax)

1require 'rubygems'
2Gem::Requirement.new("~> 1.0") =~ Gem::Version.new("1.0.5")

引数(parameters)

version

  • version: 比較対象のバージョンを指定するGem::Versionオブジェクト、またはバージョン文字列

戻り値(return)

Boolean

指定されたバージョンのGem::Requirementオブジェクトが、別のバージョンのGem::Requirementオブジェクトと一致するかどうかを示す真偽値(trueまたはfalse)を返します。

関連コンテンツ

関連プログラミング言語