将数组转换为键匹配值的哈希

Dan*_*arp 0 ruby

如果我有以下数组:

foo = ['a', 'b', 'c', 'd', 'e']
Run Code Online (Sandbox Code Playgroud)

Ruby 中是否有一种简单的方法可以将其转换为如下所示的哈希:

{ 'a' => 'a', 'b' => 'b', 'c' => 'c', 'd' => 'd', 'e' => 'e' }
Run Code Online (Sandbox Code Playgroud)

我可以做这个:

Hash[foo.map{|a| [a, a]}]
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但我很好奇是否还有其他方法。

Bab*_*bar 5

foo = ['a', 'b', 'c', 'd', 'e']

[foo, foo].transpose.to_h
#=> {"a"=>"a", "b"=>"b", "c"=>"c", "d"=>"d", "e"=>"e"}

foo.zip(foo).to_h
#=> {"a"=>"a", "b"=>"b", "c"=>"c", "d"=>"d", "e"=>"e"}
Run Code Online (Sandbox Code Playgroud)