我想问你(我是Ruby的新手)如何以下列格式访问存储在数组中的值(语句结果" p @ orders"):
这些对象是读取xml文件的结果,现在我需要读取值并进一步使用它们,但我不知道如何。请指教
答案 0 :(得分:1)
这是一个from collections import defaultdict
d= defaultdict(lambda:defaultdict(list))
for value in values:
d[value["tissue"]][value["value"]].append(value["gene"])
对象,请尝试:
Order
答案 1 :(得分:0)
如果我理解你,你需要访问实例变量而不需要具有属性的访问者。所以根据你的意见:
orders.each do |order|
p order.instance_variable_get('@order_number') #for example
end
设置实例变量可以使用:
order.instance_variable_set('@order_number', 100)
答案 2 :(得分:0)
这不是最漂亮的解决方案,但它是一个友好的解决方案:
如果您正在使用ActiveSupport(Rails附带的库),您可以执行contents = File.read("my_xml_file.xml"); hash = JSON.from_xml(contents)
然后以这种方式遍历新构建的哈希值:)
如果您不在Rails之外(并且正在使用RubyGems / bundler),您可以将gem 'activesupport'
添加到Gemfile
,执行bundle
。否则,gem install activesupport
然后在脚本顶部拍打require 'activesupport'
。
要弄清楚哈希的格式是如何设置的,您可以进行一些puts
调试,并锤击hash.keys
和hash.values
以粗暴地通过:)