Open znz opened 2 days ago
最近 { a: 1, **h } というような書き方をみかけて、その一種で { **h } というのをみかけました。(実際にはネストしたハッシュリテラルの一部でした。)
{ a: 1, **h }
{ **h }
周辺をみると単純に冗長なだけで h.dup のように破壊的な変更を避けるために別ハッシュを生成しているという理由ではなさそうでした。
h.dup
このような { **h } を検出して h か h.dup に変更をうながす cop があると良さそうだと思いました。
h
前者は以前からある書き方だと h.merge(a: 1) に書き換えられますが、そこまでは必要ないかなと思います。
h.merge(a: 1)
最近
{ a: 1, **h }
というような書き方をみかけて、その一種で{ **h }
というのをみかけました。(実際にはネストしたハッシュリテラルの一部でした。)周辺をみると単純に冗長なだけで
h.dup
のように破壊的な変更を避けるために別ハッシュを生成しているという理由ではなさそうでした。このような
{ **h }
を検出してh
かh.dup
に変更をうながす cop があると良さそうだと思いました。前者は以前からある書き方だと
h.merge(a: 1)
に書き換えられますが、そこまでは必要ないかなと思います。