在Ruby中将数组元素(字符串)设置为变量名

时间:2012-05-15 16:11:44

标签: ruby arrays string variables

我有以下数组,用于稍后在Excel文件上写入标题。

fields = ["fileName", "type", "id"]

然后我有以下代码从XML读取值:

filename = xml.xpath('//path/filename').text
type = xml.xpath('//path/type').text
id = xml.xpath('//path/id').text

I迭代初始数组(字段),以便将Excel单元格设置为上一步骤中提取的值:

row = 2
c = 1
fields.each do |content|
  ws.Cells(row,c).Value = content
  c = c + 1

我正在尝试将数组的(fields)内容变为变量名而不是字符串,以便能够重用头字段。

有人可以推荐一种方法吗?

1 个答案:

答案 0 :(得分:3)

听起来你需要使用Hash将字段名称与你提取的值相关联:

fields = {
  "fileName" => xml.xpath('//path/filename').text,
  "type" => xml.xpath('//path/type').text,
  "id" => xml.xpath('//path/id').text
}

row=2
c=1
fields.each do |key,value|
  ws.Cells(row,c).Value = value
  c=c+1
end