たのしいRuby(第2版) 「はじめてのRuby」〜別のファイルを取り込む〜


■これは「たのしいRuby 第2版」を元にしています。
http://www.amazon.co.jp/%E3%81%9F%E3%81%AE%E3%81%97%E3%81%84Ruby-%E7%AC%AC2%E7%89%88-Ruby%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E6%B0%97%E8%BB%BD%E3%81%AA%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E9%AB%98%E6%A9%8B-%E5%BE%81%E7%BE%A9/dp/4797336617/ref=pd_sim_b_img_6/250-4677527-6737860

別のファイルを取り込む

 プログラムの一部を、別の新しいプログラムの中で使いまわしたいことがあります。たとえば、あるプログラムで使った自作メソッドを、別のプログラムで利用したい、といった場合です。
 たいていのプログラミング言語では、別々のファイルに分割されたプログラムを組み合わせて、1つのプログラミングとして利用するための機能を持っています。他のプログラムから読み込んで利用するためのプログラムを、ライブラリといいます。
 プログラムの中でライブラリを読み込むためには、requireメソッドを使います。


require "使いたいライブラリのファイル名"


使いたいライブラリのファイル名の「.rb」は省略することができます。
requireメソッドを呼ぶと、Rubyは引数に指定されたライブラリを探して、そのファイルに書かれた内容を読み込みます。ライブラリの読み込みが終わると再び、requireメソッドの次の行から処理を再開します。

では、やってみましょう。

def hello
  print("「う…うろたえるんじゃあないッ! ドイツ軍人はうろたえないッ!」")
end
require "jojo"
hello()
  • 実行例
C:\enjoy_ruby>ruby user_jojo.rb
「う…うろたえるんじゃあないッ! ドイツ軍人はうろたえないッ!」

おおぉ。表示されましたね!


 Rubyには、たくさんの便利なライブラリが標準で付属しています。これらを利用する場合にもrequireメソッドを使います。たとえば、日付を扱うDateモジュールは


require "date"


とすることで利用できるようになります。


プログラミング言語 Ruby リファレンスマニュアル

せっかくなので、1つメソッドを使ってみましょう。

  • helloruby.rb
require "date"
p Date.new
p Date::MONTHNAMES
  • 実行結果
C:\enjoy_ruby>ruby helloruby.rb
#<Date: -1/2,0,2299161>
[nil, "January", "February", "March", "April", "May", "June", "July", "August","September", "October", "November","December"]

ちゃんと使えましたね。


ただ、Dateクラスは組み込みクラスなので、実際はrequireしなくても使えます。


プログラミング言語 Ruby リファレンスマニュアル


環境

C:\enjoy_ruby>ruby -v
ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]