首页 > 解决方案 > 从行输入构建散列

问题描述

给定以冒号作为分隔符的行 -

1:s11-base:running:/zones/s11-base:3f9d522c:solaris:excl:-:none:<br>
2:s11-template:running:/zones/s11-template:ce57a4db:solaris:excl:-:none:<br>
...

我怎样才能创建一个像

"zoneid" => "1",
"zonename" => "s11-base",
"state" => "running",

下一个哈希

"zoneid" => "2",
"zonename" => "s11-template",
"state" => "running",

等等。

我想遍历所有行,并将特定值分配给每一行的键。

标签: arraysrubyhash

解决方案


有这样的吗?

input.lines.map do |line|
  id, name, state = line.split(":")
  { "zoneid" => id, "zonename" => name, "state" => state }
end

推荐阅读