①のようなテキストをインポートし、②のような処理をRubyで実行するにはどうすれば良いのでしょうか。①の変数名が変わったときには、処理時に②でも変数名が変わるようにしたいです。
①profile.txt
変数名 値
name "kkuma"
age 26
address "Tokyo"
②普通に書くケース
name="kkuma"
age=26
address="Tokyo"
こんな感じ。
code = "" f = File.new "profile.txt" f.readlines.each { |line| if line =~ /(\S+)\s+(.+)/ then code << "#{$1}=#{$2}\n" end } eval code # ローカル変数の内容を確認 local_variables.each { |v| puts "#{v} : #{eval(v)}" }