You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Ruby哈希实现JavaScript ES6的对象属性简写?

嘿,这个问题问得太贴合日常开发了!在Ruby里确实有和ES6对象简写完全对应的哈希写法,而且用法相当直观。

先回顾下你提到的ES6写法:

let a = 1;
let b = 2;
const myObject = { a, b };
// 等价于 { a: a, b: b }

在Ruby 2.1及以上版本中,你可以用变量名加冒号的简写语法来创建键名与变量名一致的哈希,完全不用重复写键和值:

a = 1
b = 2
my_hash = {a:, b:}
# 等价于 {a: a, b: b}

运行这段代码后,my_hash的内容就是{:a=>1, :b=>2},和你预期的效果完全一致。这里要注意,Ruby哈希默认的键是符号(Symbol),所以这个简写针对的是符号键的场景——这也是Ruby开发中最常用的哈希键类型。

如果你的Ruby版本低于2.1(现在很少见了,毕竟这个版本是2013年发布的),那只能用完整写法,就像ES6之前的JS那样:

a = 1
b = 2
my_hash = {a: a, b: b}

总的来说,现在主流的Ruby环境都支持这种简写,用起来和ES6的对象简写一样省心!

内容的提问来源于stack exchange,提问作者stratis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:11:12