LoginSignup
3
3

More than 5 years have passed since last update.

module Kernel.#requireを簡単に正確に理解する。

Last updated at Posted at 2015-08-24

定義

module Kernel : http://docs.ruby-lang.org/en/2.0.0/Kernel.html#method-i-require

スクリーンショット 2015-08-25 0.20.58.png

まとめると、gemを含むパスの先にファイルが存在すれば読み込みます。
しかし、一度読み込まれたファイルの場合falseを返します。

実践

fileの読み込み

sample/hoge.rb


require './fuga.rb'


sample/fuga.rb


p 'fuga'

terminal


geshi@localhost:(master*) $ruby hoge.rb
fuga

requireの戻り値

sample/hoge.rb


p require './fuga.rb'
p require './fuga.rb'

terminal


geshi@localhost:(master*) $ruby hoge.rb
true
false

補足

パスについて

パスを指定しないとgemファイルを参照します。例えば、
スクリーンショット 2015-08-25 1.06.19.png

gemにhoge.rbという適当なファイルを作成し、デスクトップにあるfuga.rbに

require 'hoge'

と呼び出すと、gemファイルのhoge.rbを読み込んでくれます。

拡張子について

拡張子は基本的につけなくても補完してくれます。
つまり

require './hoge'

でも、hoge.rbを読み込んでくれます。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3