require はローカルに定義された関数を実行できますか? 必要なものを説明する最も簡単な方法は、例を示すことだと思います。
Ruby 1.9.3 を使用していますが、1.8 および 2.0 のソリューションも歓迎します。
次のような main.rb ファイルがあります。
class Stuff
def self.do_stuff(x)
puts x
end
require_relative('./custom.rb')
do_stuff("y")
end
また、同じフォルダーに次の内容のファイル custom.rb があります。
do_stuff("x")
main.rb を実行すると、次の出力が得られます。
/home/fotanus/custom.rb:1:in `<top (required)>': undefined method `do_stuff' for main:Object (NoMethodError)
from main.rb:5:in `require_relative'
from main.rb:5:in `<class:Stuff>'
from main.rb:1:in `<main>'
require
がない場合、出力は であることに注意してくださいy
。