はじめに
Rubyは毎年12月25日に新バージョンがリリースされます。
今年も12月25日にRuby 2.7.0がリリースされました。
ちなみに、なぜ12月25日なのかというと、Matzサンタからのプレゼントという意味があるからだそうです(という話を以前どこかで読んだ気がするのですが、要出典・・・)。
このエントリではRuby 2.7のリリースを記念して、Ruby 2.7関連の信頼できそうな解説記事や情報源をあれこれまとめておきます。
Ruby 2.7について詳しく知りたい、という方はここに載せたページを参考にしてみてください。
【もくじ】
主要な変更点や新機能を知りたい(またはチェリー本の読者です)
隅から隅までチェックするのは時間がかかるので、主要な変更点や新機能を知りたいという方は僕が書いたこちらのQiita記事をどうぞ。
上の記事は、拙著「プロを目指す人のためのRuby入門(チェリー本)」に書いた内容との差異を説明したものですが、チェリー本自体がRuby初心者向けの本なので、Ruby 2.7の変更点や新機能がいい感じに浅く・広くピックアップされていると思います。
プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)
- 作者:伊藤 淳一
- 出版社/メーカー: 技術評論社
- 発売日: 2017/11/25
- メディア: 大型本
また、「はじめに」の項でも紹介した、ruby-lang.orgのリリースノートの説明にも主要な変更点や新機能がまとめられています。
Ruby 2.7の新機能や変更点を一通り知りたい
いや、概要だけじゃなくて、どんな新機能や変更点が入ったのが全部知りたいんだ!という方は、僕が書いたこちらのQiita記事をどうぞ。
サンプルコードと僕独自の視点を交えながら、Ruby 2.7の新機能や変更点を一通り説明しています。
また、Rubyコミッタの笹田さんと遠藤さんが書かれたこちらの記事でも同じようにRuby 2.7の変更点を詳細に説明されています。
こちらはRubyコミッタから見た、開発の裏話や設計の意図が豊富に含まれているのが特徴です。
こちらはRuby 2.7の新機能や変更点を毎日紹介していくアドベントカレンダーです。(執筆者は、とみたまさひろさん)
上の2つの情報源にはない新機能の解説も載っていたりするので、こちらもチェックしておくとさらに網羅性が向上します。
最後に、Rubyの開発リポジトリにあるNEWSページを紹介しておきます。
英語の情報源かつ、説明も比較的シンプルですが、公式の情報源なので信頼性はほぼ100%です。
パターンマッチ構文について詳しく知りたい
Ruby 2.7で新たに導入されたパターンマッチ構文についても、僕独自の視点で書いた解説記事があります。
「プロを目指す人のためのRuby入門」と同様に、簡単な内容から徐々に高度な内容に発展させていくスタイルで執筆しています。(前編、後編の2部構成)
Rubyにおけるパターンマッチ構文の提唱者および開発者である辻本さんによる資料や動画もあります。
正式リリース版とは一部内容が異なる点もありますが、大半の内容は正式リリース版でも有効です。
[RubyConf2019]Pattern matching - New feature in Ruby 2.7 - Speaker Deck
[JA] Pattern matching - New feature in Ruby 2.7 / Kazuki Tsujimoto @k_tsj
また、有料の情報源になりますが、「n月刊ラムダノート Vol.1, No.3(2019)」という技術雑誌に載っている辻本さん解説も、パターンマッチ構文を理解するのに非常に役立ちます。
キーワード引数の仕様変更について知りたい
Ruby 2.7ではRuby 3で実施されるキーワード引数の仕様変更に向けて、特定の条件で警告が発生するようになっています。
この仕様変更についても僕が書いたまとめ記事があります。
このほかにもRubyコミッタの遠藤さんが執筆された記事や資料があります。
コミッタの視点から見た、より詳細な背景や意図についてはこれらの資料を確認することをお勧めします。
techlife.cookpad.com
また、既存のコードの修正方法に迷った場合は、公式の移行ガイド(英語)を参照すると解決するかもしれません。
番号指定パラメータについて詳しく知りたい
Ruby 2.7で導入された番号指定パラメータ(Numbered parameter)について詳しく知りたい方は、僕が書いたこちらの記事をどうぞ。
Rubyコミッタさんの開発裏話も聞きたい
新機能の話ばかりでなく、コミッタさんたちが何を考え、どう開発してきたのか、といった点も気になる!という方は、こちらの2つの記事が参考になると思います。
まとめ
というわけで、このエントリでは先日リリースされたRuby 2.7関連の解説記事や情報源をあれこれまとめてみました。
Ruby 2.7は「今までこんなに大量の新機能や変更点が入ったことってないんじゃないの!?」と思うぐらい、たくさんの見どころがあります。
巷では「Rubyは死んだ」みたいな噂が定期的に上がってきますが、まだまだ開発は活発なようで安心しました。
また、来年はRuby 2.8ではなく、いよいよRuby 3.0がリリースされるようです(参考)。
こちらも非常に楽しみですね!
Ruby 3.0でのさらに大きな進化を期待しつつ、それまではRuby 2.7でプログラミングを楽しみましょう😄