- クラスやモジュールを別のファイルに定義しておき、読み込む仕組み
|_ main.rb
|_ partial.rb
# partial.rb
module AddCream
def add_cream
@name += " with cream"
end
end
# main.rb
require_relative "partial"
class Drink
include AddCream
def initialize(text)
@name = text
end
def name
@name
end
end
drink = Drink.new("coffee")
drink.add_cream
p drink.name
require_relative
と require
の違い
require_relative
の代わりに require
を使うこともできる
require_relative "partial"
# ↑↓ 等価
require "./partial"
require
には別の使い方もある- 別ファイルの読み込みには
require_relative
を使うのがおすすめ
include
と require_relative
の違い
require_relative
と include
は、「読み込む」という点で似ているが機能が違うinclude
- モジュールに書かれたメソッドをクラスから利用できるようにするメソッド
require_relative
- ファイル名を渡して、そのファイルに定義されたクラスやモジュールを使えるようにするメソッド
- セットで使うことが多いが、機能が違う