Ruby 2.4.0がリリースされました!

こんにちは、hachi8833です。

おとといの週刊Railsウォッチのあと、Ruby 2.4.0が公開されました。新バージョンリリースをクリスマスに行うというRubyの習慣は今回も守られましたね。

Ruby 2.4.0 released

新機能

Ruby 2.4のいくつかの新機能は既に週刊Railsウォッチでお伝えしているので、未紹介の機能からいくつかリストアップします。

もう少し詳しい更新情報についてはruby/Newsをご覧ください。いずれ翻訳されるようです(追伸: その後翻訳されました)。

2.3から2.4の比較を見ると、コミットが多すぎて最初の250件しか表示されていませんね。

2.4のインストール

rbenvをお使いの方は、以下を参考に2.4をインストールしてください。

今回は以下のコマンドでインストールしました。

cd ~/.rbenv/plugins/ruby-build/
git pull            # ruby-buildを更新
rbenv install 2.4.0 # 2.4.0をインストール(バージョン確認は省略)
rbenv global 2.4.0  # デフォルトに設定(お好みで)

Rails 5.0.1 + Ruby 2.4で動かしてみる

Ruby 2.4にアップグレードすると、これまたリリース間もないRails 5.0.1rails newしたときにActive Support周りで若干deprecationの警告が表示されます。

deprecation warning

警告が出ている箇所のコードを見てみましょう。

  • ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/xml_mini.rb
      # No need to map these on Ruby 2.4+
      TYPE_NAMES["Fixnum"] = "integer" unless Fixnum == Integer
      TYPE_NAMES["Bignum"] = "integer" unless Bignum == Integer
  • ruby/2.4.0/gems/activesupport-5.0.1/lib/active_support/core_ext/numeric/conversions.rb
# Ruby 2.4+ unifies Fixnum & Bignum into Integer.
if Integer == Fixnum
  Integer.prepend ActiveSupport::NumericWithFormat
else
  Fixnum.prepend ActiveSupport::NumericWithFormat
  Bignum.prepend ActiveSupport::NumericWithFormat
end
Float.prepend ActiveSupport::NumericWithFormat
BigDecimal.prepend ActiveSupport::NumericWithFormat

Rails5.0.1側でも2.4の受け入れ準備ができていることがわかります。

関連記事

Ruby on RailsによるWEBシステム開発、Android/iPhoneアプリ開発、電子書籍配信のことならお任せください この記事を書いた人と働こう! Ruby on Rails の開発なら実績豊富なBPS

この記事の著者

hachi8833

Twitter: @hachi8833、GitHub: @hachi8833 コボラー、ITコンサル、ローカライズ業界、Rails開発を経てTechRachoの編集・記事作成を担当。 これまでにRuby on Rails チュートリアル第2版の半分ほど、Railsガイドの初期翻訳ではほぼすべてを翻訳。その後も折に触れてそれぞれ一部を翻訳。 かと思うと、正規表現の粋を尽くした日本語エラーチェックサービス enno.jpを運営。 実は最近Go言語が好き。 仕事に関係ないすっとこブログ「あけてくれ」は2000年頃から多少の中断をはさんで継続、現在はnote.muに移転。

hachi8833の書いた記事

週刊Railsウォッチ

インフラ

BigBinary記事より

ActiveSupport探訪シリーズ