NaClの前田です。 Ruby Advent Calendar 2021の20日目の記事です。昨日は@getty104さんでした。 今回はRuby 3.1にするっと入ってしまったHashの値の省略記法を紹介します。 導入の経緯 最初の提案のきっかけは、何かでES6のenhanced object literalsを知って、2015年にFeature #11105 ES6-like hash literalsというチケットを作成したことでした。 この提案は、 {x, y} が {x: x, y: y} とみなされるというもので、ES6と同じ記法です。 ただ、HashというよりSetに見えるという理由で却下されました。私自身、すごくほしいというよりは「実装できたから提案してみるか」という感じだったので、あまりがんばって説得しなかった気がします。 次の提案は2018年のFeature #1457