[英]Is there a more efficient way to turn an array into a hash?
我認為我的方法有點笨拙,並且可能會有一個我缺失的單行程。 想法?
def _to_hash
hsh = {}
self.each_slice(2){|v| hsh[v[0]] = v[1]}
hsh
end
1.9.3-p0 :003 > ["a", 1, "b", 2]._to_hash
{
"a" => 1,
"b" => 2
}
@ phiggy的方法是正確的,但也要記住你可以使用splat運算符:
a = ["a", 1, "b", 2]
Hash[*a] #=> {"a"=>1, "b"=>2}
你想要Hash的。[]運算符:
> Hash["a", 1, "b", 2]
=> {"a"=>1, "b"=>2}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.