Ruby/Rubyの基礎知識

require, require_relative, load, autoloadの違い(2ページ目)

別ファイルのコードを読み込む関数には、requireをはじめいくつかの種類があります。その動作の違いを説明します

橋本 拓也

執筆者:橋本 拓也

Rubyガイド

LOADPATH

たとえばrequire 'prime'とすると、素数に関連するメソッドが利用可能となります。これは前ページの議論に則ればprime.rbというファイルがどこかにあるはずです。先ほどのrequireの説明では触れませんでしたが、そもそもrequireは「どこを基準に」ファイルへのパスを見つけるのでしょうか。

答えは $LOAD_PATH というグローバル変数です。$:という別の名前もあります。ここにはrequireで基準となるディレクトリが配列の形で入っていることがわかります。

上の疑問に答えるために、$LOAD_PATH以下にprime.rbというファイルを探してみると、実際に存在することがわかります。

また、コード中で$LOAD_PATHにパスを追加することで、requireの基準ディレクトリを変更することも可能です。

最後のページでは、Kernel#loadおよびKernel#autoloadメソッドを取り上げます。

  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます