rubyで設定ファイルを書くとき
いままではmoduleを使って
setting.rb
module Env HOGE_PATH = "./fuga/" end
として、
main.rb
path = Env::HOGE_PATH
としていたけど、あまり使い勝手がよろしくない。
ので、id:viverに聞いてみた。
で、
こんな打開策。
設定を書くconfig.rbを、こんな感じに。
@hoge = "fuga" @you = "otaku" $config = Hash.new instance_variables.each {|name| $config[name[1..-1].to_sym] = instance_variable_get(name) }
いじょ。
で、test.rb
load 'config.rb',true p $config
これを実行してみると、
$ ruby test.rb {:hoge=>"fuga", :you=>"otaku"}
となる。
これは使いやすい。