簡體   English   中英

有沒有更有效的方法將數組轉換為哈希?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM