用Ruby进行Hash解析

用Ruby进行Hash解析,ruby,hash,Ruby,Hash,我有如下所示的哈希数组: @line_statuses = [ {:name=>"1", :status=>"online"}, {:name=>"2", :status=>"online"} ] 我想解析@line\u statuses数组中的每个散列,以便打印出名称和状态,如下所示 1: online 2: online 我该怎么做呢?这么简单…: @line_statuses.each do |line_status| puts "#{line_st

我有如下所示的哈希数组:

@line_statuses = [
  {:name=>"1", :status=>"online"},
  {:name=>"2", :status=>"online"}
]
我想解析
@line\u statuses
数组中的每个散列,以便打印出名称和状态,如下所示

1: online
2: online
我该怎么做呢?

这么简单…:

@line_statuses.each do |line_status|
  puts "#{line_status[:name]}: #{line_status[:status]}"
end

从技术上讲,您的
@line\u status
变量是一个数组,因此您拥有的是一个哈希数组。在Ruby中,要迭代数组,我们使用
.each
方法。然后,在每次迭代中,我们可以使用定义的键访问哈希值:

@line_statuses.each do |hash|
  puts hash[:name]
  puts hash[:status]
end

试试
@line_status。每个{i |放置i[:name],i[:status]}

非常简单:

@line_statuses.each { |line_status| puts "#{line_status[:name]}: #{line_status[:status]}" }