2020/11/05 今週の気になった bugs.ruby のチケット
内容は適当です。
今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。
あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。
[Feature #17292] Hash Shorthand / Punning
{ a: a, b: b, c: c }
を{ a:, b:, c: }
みたいなショートハンドでかけるようにする提案
# Hash Punning a = 1 b = 2 c = 3 { a:, b:, c: } # => { a: 1, b: 2, c: 3 }
# Method Punning def method_name(a:, b:, c:) a + b + c end a = 1 b = 2 c = 3 method_name(a:, b:, c:) # => 6
- 同じような提案は昔から存在しているが当時は Reject されている
- 今回チケットを立てたモチベーションとしてはパターンマッチで似たような構文がかけるようになったので構文的な違和感がなくなってきたんじゃないか?という感じ
# 今後はこのようなコードがかけるようになる user = { name: "homu", age: 14 } case user in { name:, age: } end user => { name:, age: }
- わたしも同じような提案をしていたのでほしい
merge, fix されたチケット
- [Bug #6087] How should inherited methods deal with return values of their own subclass?
Array
を継承したクラスで#flatten
などをつかった場合に継承したクラスではなくてArray
を返すようにする変更