Today: Yesterday: Total: Online:
カテゴリー
その他
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
RSSリーダーで購読する | この日記のはてなブックマーク数 | プロフィール
コメントが一番多い記事(233コメント):人の心理の裏をかくホームページ集客術:リピータになってもらうためには
ツイートが一番多い記事(94ツイート):ちょっと待て!twitterやfacebookに子供の写真を掲載する親達への警告
いいねが一番多い記事(574いいね):facebookスパムに要注意。なりすましの見分け方とアカウント乗っ取りの手口(2013年度版)

カテゴリー » Ruby December 15, 2009

Rubyで外部モジュールを読み込む方法 ID:1260857150


requireを使う。


http://blog.livedoor.jp/sasata299/archives/51268600.html


相対パスをrequireするとき親ディレクトリが指定できない
require "../parent.rb"

http://d.hatena.ne.jp/gamako/20080526/1211837313

requireやloadのためのパス情報には、ファイル自信のパスの情報はない。
なので、カレントディレクトリからではなくて、ファイル自信のパスからの相対パスでrequireやloadをしたい場合は
絶対パスに変換しながらロードするか、
require File.dirname(__FILE__) + "/child/child.rb"



$LOAD_PATHに相対パスを追加してからロードするか、
$LOAD_PATH << File.dirname(__FILE__) + "/child"
require "child.rb"


$LOAD_PATHに自信のパスを追加してから相対パスでロードするか、
$LOAD_PATH << File.dirname(__FILE__)
require "child/child.rb"


また、requireのほかにloadがある。
http://www.sakalab.org/3zemi06/no6.html
requireとloadの違いは

requireの場合、


1.Rubyの実行開始から実行終了までの間に同じファイルは1度しか読み込まない。
つまり、同じファイルを指定したrequireを何度も実行すると、
最初に実行した時のみ読み込まれ、2度目からは何もしない。


2.現在のディレクトリ以外に、Rubyであらかじめ準備されているクラス定義 などが
あるディレクトリも含めてファイルを自動的に探す。
これはシステムにインストール済みのクラスライブラリを使う際のことを想定している。
また、そのためディレクトリ名は一般的に略される。


3.完全なファイル名でなくても、「.rb」などが略されていても 自動的に補完してファイルを探す。
これはソースプログラム以外の拡張 ライブラリを用いることが想定されている。
— posted by midilin @ 03:05PM
[コメントが多かった順の記事]
人の心理の裏をかくホームページ集客術:リピータになってもらうためには(233)
ホームページ心理学第2弾「メールの書きだしとホームページ運営・集客の関係」(76)
娘が生まれた(69)
ゲームと言えば、何を思い出す? (50)
Microsoftからアクセス (30)
「目標の立て方」と「努力」と「実行力」(26)

カウンター