【一人 Ruby Advent Calendar 2017】Ruby 2.5 がリリース!!【25日目】
一人 Ruby Advent Calendar 2017 25日目の記事になります。
今日で最後!!
Ruby 2.5 がリリース!!
直前にいろいろとあったようですが、無事リリースされました。
コミッタの皆さんお疲れ様でした。
Bundler の標準入りは延期
Ruby 2.5 で標準入りする予定だった Bundler ですが、リリース直前に問題が見つかった為、今回は延期されることに。
うーん、まあ Bundler 自体が結構不安定で反対している人もいたぽいんですが、残念といえば残念かなー。
個人的に気になる変更点や追加点
require "pp"
が暗黙的に読み込まれるようになった- バックトレース順の変更
- ブロック引数を定義した場合のパフォーマンスの改善
Set#===
とMethod#===
の追加- レシーバをブロックの引数で受け取りブロックの戻り値を返す
#yield_self
が追加 define_method
やattr_accessor
などが public 化- 式展開時の
#to_s
が Refiements 時で定義されている場合にも呼ばれるように
などなど、他にも変更された機能や追加された機能はあるので気になる方は以下のサイトなどを参照してみるとよいと思います。
個人的には #===
がちょっと注目されてるのかなーという感じですかね。
#===
は case-when
以外でもいろいろと応用が効く機能なので今後もいろいろと利用していきたいと思います。
あと今回の式展開の #to_s
のように Refinements まわりも年々制限が緩和されている流れですね。
Refinements に関してはまだまだ使う上でちょっとつらい部分があるので、そのあたりを今後 Ruby 本体に提案できればなーと思っていたりします。
参照
- サンプルコードでわかる!Ruby 2.5の主な新機能と変更点 Part 1 - Qiita
- サンプルコードでわかる!Ruby 2.5の主な新機能と変更点 Part 2 - Qiita
- Ruby 2.5 は引数に &block を書いても速い!!! - onk.ninja
- Ruby 2.5 - @tmtms のメモ
一人 Advent Calendar を終えて
と、言うわけでやっと終わりましたーやふー。
途中で少し遅れることはありましたが、なんとか完走する事が出来ました。
やる前からわかってたんですが最初にちょっと書き溜めておいたネタだけじゃ全然足りなかったですね、これ。
やーやっぱり勢いでやるものじゃないわー。
まあしかし、そのおかげでネタを絞りだす為に普段はあまり気にしないような部分も調べて書いたのでそういう意味ではよかったかなーとは思います。
トップレベルの扱いやキーワード引数まわりは結構てきとーに使っていたので、そのあたりをちゃんと調べて理解出来たのでそういう意味ではやってよかったかなーと思います。
次は1年ぐらい書き溜めて溜まってたら書くぞ〜。
書いた記事の一覧は以下から参照してくださいー。
さて、これからもう1つの方も書かないと…。