●学校情報

講座一覧・募集状況

学習方法

学習サポート

修了生の評価

受講生の横顔

当学院について

入学相談

入学手続

 

●講座情報

技術者養成講座

プログラミング講座

WEB講座

情報処理試験講座

Excel講座

Access講座

 

●関連コラム

関連コラム

関連用語集

 

logo

 

 

関連用語集

Rubyのrequire / loadとは?外部ファイルの読み込み方法と使い分け

Rubyでは、別のファイルに定義されたクラスやメソッドを読み込んで再利用するために、requireload という命令を使います。 この仕組みにより、コードをファイル単位で整理し、保守性や再利用性を高めることができます。

require の基本

# greeting.rb
def say_hello
  puts "こんにちは!"
end
# main.rb
require "./greeting"
say_hello  # → こんにちは!

require は、指定されたファイルを一度だけ読み込む命令です。 すでに読み込まれていれば、再度は読み込みません。

load の基本

load "./greeting.rb"

load は、呼び出すたびに毎回読み込む命令です。 変更を即時反映させたい場合に使われます。

拡張子の扱い

  • require では.rb を省略可能
  • load では拡張子を明示する必要があります
require "my_lib"   # → my_lib.rb を読み込む
load "my_lib.rb"   # → OK
load "my_lib"      # → エラー

相対パスと絶対パス

require "./utils/tool"   # カレントディレクトリから相対的に読み込む
require "/home/user/lib/module"  # 絶対パスで読み込む

require では、$LOAD_PATH に含まれていないディレクトリから読み込む場合、相対パスまたは絶対パスを使う必要があります。

ファイルの2重読み込み防止(requireの特徴)

require "./module"
require "./module"  # 2回目は無視される

require同じファイルを重複して読み込まないため、効率が良く、ライブラリの読み込みに適しています。

load の使いどころ

  • ファイルの内容を何度も読み込みたいとき
  • ファイルを途中で書き換えるような特殊な処理をしたいとき

require_relative(同一プロジェクト内の読み込み)

require_relative "sub/hello"

require_relative は、現在のファイルからの相対パスでファイルを読み込む便利な方法です。 require よりも明示的で、同一プロジェクト内の読み込みに適しています。

まとめ

項目requireload
読み込み回数一度だけ毎回
拡張子省略可必要
主な用途ライブラリや共通処理動的な再読み込み

Rubyの require / load を使うことで、コードをファイルに分割して整理でき、保守性や再利用性を向上させることができます。

通常は requirerequire_relative を使い、特別なケースでのみ load を使うようにしましょう。