Ruby 将多个参数发送到哈希

Ruby 将多个参数发送到哈希,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,hy 我解析文件以查找一些参数,如uid、dbname和url。 我尝试做的是获取散列中的所有值,以便将其发送到csv文件中 当我解析我的hash(res_许可证)时,我只有3个这样的参数 uid,uid']='adfs'; url,url']=''; 数据库名 我找不到他为什么要推翻:( 我的猜测是,变量在您分配它们的块中是局部的。请在脚本开头添加以下内容: uid = nil url = nil dbname = nil 我找到了解决问题的方法,这次我没有uid=>“xxx”,url=>“

hy 我解析文件以查找一些参数,如uid、dbname和url。 我尝试做的是获取散列中的所有值,以便将其发送到csv文件中

当我解析我的hash(res_许可证)时,我只有3个这样的参数

uid,uid']='adfs'; url,url']=''; 数据库名

我找不到他为什么要推翻:(


我的猜测是,变量在您分配它们的块中是局部的。请在脚本开头添加以下内容:

uid = nil
url = nil
dbname = nil

我找到了解决问题的方法,这次我没有uid=>“xxx”,url=>“xxx”

如何删除挂钩“[]和报价”

uid = nil
url = nil
dbname = nil
configs = {}
Dir.glob('configuration_*').each do |filename|
 configs[filename]= Hash.new
  File.foreach(filename) do |line|


         if line.include? 'uid'
              next unless line.match(/(?=uid).*?[\'\"].*?[\'\"](.*?)[\'\"](.*?)[\;\"]/)
                field, value = line.split("=",2);
             ( configs[filename] = []  <<  value.strip.gsub("';", "").gsub("'",""))
               #( configs[filename][:uid] ||= [] ) <<  value.strip.gsub("';", "").gsub("'","") 
         end
   CSV.open("/tmp/data.csv", "wb", Options = {quote_char: "\0" }) {|csv| configs.each {|input| csv << input }}
configuration_groupe-poult.mydomain.net.php,["group", "https://groupe-poult.mydomain.net", "group"]
configuration_kb-in.mydomain.net.php,["kbin", "https://kb-in.mydomain.net", "kauf"]