【Ruby3.x】Gem::Requirement::exact?()メソッドの使い方
exact?メソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
exact?メソッドは、Gem::Requirementオブジェクトが保持するバージョン要件が、特定の単一のバージョンを厳密に指定しているかどうかを判定するメソッドです。
Gem::Requirementクラスは、Rubyのシステムで使用されるGemパッケージ(他の開発者が作成した便利なライブラリやツール)が、どのバージョンで動作するべきかを定義する際に利用されます。例えば、「= 1.2.3」のように、特定のGemのバージョンが「1.2.3」でなければならない、といった厳密な指定が可能です。
このexact?メソッドは、そうしたバージョン要件がまさに「= 1.2.3」のように、完全に一致するただ一つのバージョンのみを要求している場合にtrueを返します。一方で、「>= 1.0」(バージョン1.0以上)や「~> 2.0」(バージョン2.0以上2.1未満など、互換性のある範囲)のように、複数のバージョンを許容する柔軟な要件の場合にはfalseを返します。
このメソッドは、開発者がGemの依存関係を厳密に管理し、意図しないバージョンアップによる影響を防ぎたい場合や、特定のテスト環境において正確なバージョンのGemが使用されているかを確認したい場合に非常に有効です。特定のバージョンに固定されているかどうかをプログラムで判断したいときに利用します。
構文(syntax)
1require 'rubygems' 2 3requirement = Gem::Requirement.new('= 1.2.3') 4p requirement.exact? # => true
引数(parameters)
引数なし
引数はありません
戻り値(return)
Boolean
指定されたバージョンのGem::Requirementオブジェクトが、要求されたバージョンと完全に一致するかどうかを判定します。真偽値(trueまたはfalse)を返します。