config/boot.rb の最初の命令文は、RAILS_ROOT の設定だ。これは次のように代入してある。(boot.rb を参照)
RAILS_ROOT = "#{File.dirname(__FILE__)}/.." unless defined?(RAILS_ROOT) これは、「__FILE__ で表されるそのファイル(この場合は boot.rb )のパスからディレクトリの部分だけを取り出してそれに"/.."を追加し、RAILS_ROOT に代入する。もし既に RAILS_ROOT に 何か文字列が入っていればそれを変更しない。」という意味だ。 ここで、「ああ、そうか」と思って次の行のコードの解読に移ってもいいのだが、__FILE__ や File.dirname(__FILE__) が一体どんな文字列なのか興味が湧いてきた。そこで、次の内容のファイル a.rb を作って、boot.rb と同じディレクトリに入れてみた。 puts __FILE__ puts "#{File.dirname(__FILE__)}/.." そうして、~/rails/demo/ ディレクトリから ruby config/a.rb を実行してみたら次のようになった。 ~/rails/demo$ ruby config/a.rb config/a.rb config/.. 出力されたのがフルパスではなかったので不審に思った。相対パスでどうやってファイルを特定できるのだろうか。ふと、これは ruby を実行したディレクトリに関係しているのかもしれないと思いついた。それで、cd .. でディレクトリの階層を一つ上がって、~/rails/ ディレクトリから a.rb を実行してみた。 ~/rails/demo$ cd .. /rails$ ruby demo/config/a.rb demo/config/a.rb demo/config/.. 当たりだった。実験は大切だ。しかし、そうだとすると、ファイルのフルパスはどうやって取得するのだろう?疑問を持ち始めると果てしない探求が始まるが、くたびれたので個々までにしておこう。そうそう、それと a.rb を削除するのを忘れないようにしなくては。
by tnomura9
| 2008-10-17 21:26
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||