Ruby 2.6 の変更点 - Matrix, RSS, その他, おわり

Ruby2.6アドベントカレンダーの25日目の記事です。

qiita.com

最終日になってしまいました。順調にいけばきっと本日 Ruby 2.6 がリリースされるはずです 🎉

最近の変更や、あまり興味のないものやよくわかってないものが残ったのでざっくりと紹介。

Matrix

数学に詳しくないのでよくわかりませんが、きっと便利になったんだと思います。

Matrix#antisymmetric?, Matrix#skew_symmetric? 追加

Matrix#map!, Matrix#collect! 追加

https://bugs.ruby-lang.org/issues/14151

Matrix#[]= 追加

Vector#map!, Vector#collect! 追加

Vector#[]= 追加

RSS

RSS::Parser.parse:validate, :ignore_unknown_element, :parser_class キーワード引数追加

RSS::Parser.parse の第2, 3, 4引数を :validate, :ignore_unknown_element, :parser_class キーワード引数としても指定できるようになりました。

その他

CSV

csv 3.0.2 にアップグレードされました。速くなったようです。 https://github.com/ruby/csv/blob/master/NEWS.md

NKF

nkf v2.1.5 にアップグレードされました。

Psych

Psych 3.1.0 にアップグレードされました。

RDoc

高速化されてたりバグ修正されてたり等。

REXML

REXML 3.1.8 にアップグレードされました。 https://github.com/ruby/rexml/blob/master/NEWS.md

RubyGems

RubyGems 3.0.0 にアップグレードされました。 https://blog.rubygems.org/2018/12/19/3.0.0-released.html

標準ライブラリのデフォルト gem 化

  • e2mmap
  • forwardable
  • irb
  • logger
  • matrix
  • mutex_m
  • ostruct
  • prime
  • rexml
  • rss
  • shell
  • sync
  • thwait
  • tracer

JIT

--jit オプション付きで実行すると JIT が有効になるようです。

ruby ビルド時に使用したコンパイラを使用するので、ビルドされた ruby を開発環境がない環境に持っていった場合は JIT は動かないと思います。たぶん。

MacOS での共有ライブラリ

3つ目のバージョン番号がファイル名に含まれなくなったようです。

  [Before]
    * libruby.2.6.0.dylib
    * libruby.2.6.dylib -> libruby.2.6.0.dylib
    * libruby.dylib -> libruby.2.6.0.dylib

  [After]
    * libruby.2.6.dylib
    * libruby.dylib -> libruby.2.6.dylib

Emacs ライブラリが含まれなくなった

misc/*.el にあったファイルが無くなって https://github.com/ruby/elisp に置かれたとのこと。

おわり

去年は数日でガッと書いたんだけど結構大変で、

こんなことを呟いたのを思い出したんで独りアドベントカレンダーをやってみました。 来年も気力があればやるかもしれません。

メリークリスマス!

[追記]

まとめて読みたいなら、これが良さそう。 techlife.cookpad.com