将数组转换为哈希键

San*_*ups 2 ruby arrays hash

如何将数组转换为具有0each循环值的哈希值.

例如,给定此数组:

[1, 2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

我想得到这个哈希:

{"1"=>0, "2"=>0, "3"=>0, "4"=>0}
Run Code Online (Sandbox Code Playgroud)

tok*_*and 8

哈希[...]的标准方法是:

Hash[xs.map { |x| [x.to_s, 0] }]
Run Code Online (Sandbox Code Playgroud)

或者Enumerable#mash如果您碰巧使用Facets.我想不出更简洁和陈述的东西:

xs.mash { |x| [x.to_s, 0] }
Run Code Online (Sandbox Code Playgroud)