Ruby中如何将字符串数组转为同键哈希数组以批量创建实例?
Ruby字符串数组转哈希数组的最优写法
你现有的names.map { |name| { name: name } }其实已经很简洁高效了,Ruby里还有几种更短的写法,适配不同版本需求:
Ruby 2.7+ 版本:利用下划线参数(
_1)省略块变量声明,代码更紧凑:names.map { { name: _1 } }全版本兼容写法:用
Hash[]构造哈希,语法同样简洁:names.map { |name| Hash[:name, name] }
如果追求极致简洁,Ruby 3.0+还可以用更凝练的块写法,效果和上面一致:
names.map { { name: _1 } }
本质上这些写法和你原本的实现效率几乎无差别,都是遍历数组生成哈希结构。如果团队协作看重可读性,你最初的写法反而更清晰——明确的块变量名能让其他开发者一眼看懂逻辑。
内容的提问来源于stack exchange,提问作者Naoki Mi
相关产品推荐
相关产品推荐

