PCインストラクターmeguの日常と忘備録

人、コンピュータ、仕事が大好き
学びが趣味のへんてこりんインストラクター

Ruby require とrequire_relativeの違い

2021-09-13 22:02:21 | プログラミング

Rubyで別ファイルに定義されたクラスやモジュールを読み込んで使う事ができるのが

require_relativeメソッド

良く似ているrequireメソッドとの違いは?

require メソッド
「$LOAD_PATHに指定されているディレクトリ」からの

相対パスで該当のファイルを探しに行く

require_relative メソッド
「実行したいファイルのディレクトリ」からの

相対パスで該当のファイルを探しに行く

 

つまり現在のフォルダにあるファイルであれば

require_relative "ファイル名" を使えばよい

 

includeはモジュール名を渡す

require_relativeはファイル名を渡す

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Ruby $LOAD_PATH

2021-09-13 21:57:31 | プログラミング

組み込み変数$LOAD_PATH

requireやloadが相対パスで指定されたファイルは、

組み込み変数$LOAD_PATHに格納されたパス順にファイルを検索する

コマンドラインから$LOAD_PATHの値を確認する方法

$ ruby -e 'puts $LOAD_PATH' または

# ruby -e 'puts $:'

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Ruby include モジュール名

2021-09-13 21:39:27 | プログラミング

Rubyのモジュールを使うとメソッドを共同利用できる

クラスにモジュールをインクルードすることで

モジュールに定義したメソッドを

あたかもクラス自身に定義されたメソッドとして使えるようになる

手順:

モジュールを作る

モジュールにメソッドを定義

モジュールのメソッドをクラスで使う

 

class クラス名

 include モジュール名

end

クラスでincludeメソッドを使うと

引数で指定したモジュールのメソッドを

あたかもクラス自身のインスタンスメソッドとして使えるようになる

 

 

 

 

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする