[#46647] RubyでWindowsの常駐サービスプログラムを作る方法 — kouichi_someya@...

はじめまして。

12 messages 2009/12/16
[#46649] Re: RubyでWindowsの常駐サービスプログラムを作る方法 — "U.Nakamura" <usa@...> 2009/12/17

こんにちは、なかむら(う)です。

[ruby-list:46700] Re: requireについて

From: "Hideo Konami" <konami@...>
Date: 2009-12-25 05:57:40 UTC
List: ruby-list #46700
小波です。



>北村と申します。
>Linuxなどの環境で、~/にsayという関数を定義したfunc.rbというスクリプトを作成し、また関数sayを呼び出すtest.rbというスクリプトを作成したとします。もちろん、test.rbではfuncをrequireしておきます。
>test.rbをシェルから起動するとき、カレントディレクトリが~/の場合は正常に関数sayが呼び出されますが、カレントディレクトリが違う場所(ex.~/Document)になっている場合、test.rbを起動してもfuncはrequireされず、エラーを出して終了します。
>この様な事態を回避する(funcを正常にrequireする)方法がありましたらお教えお願いします。

irb で実験してみました。MacOS X 10.5.8
ruby 1.8.7 (2009-06-12 patchlevel 174) [i686-darwin9.8.0]
という環境です。


・ ~/hoge/func.rb というファイルがある

irb> $LOAD_PATH << "~/hoge/"
irb> require 'func.rb'
=> true
irb> $LOAD_PATH.pop
=> "~/hoge/"
irb(main):007:0> require "calc_01.rb"
=> false

$LOAD_PATH は require されたファイルを探すためのパスの文字列の配列
なので,そこに探すべきパスを "<<" を使って追加してみたというわけです。

念のために, pop でそれを捨てると呼び込めなくなります。







In This Thread