Ruby2.6アドベントカレンダーの25日目の記事です。
最終日になってしまいました。順調にいけばきっと本日 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 に置かれたとのこと。
おわり
去年は数日でガッと書いたんだけど結構大変で、
クリスマスのリリース日を楽しみに待つって意味ではRubyの新バージョン記事はアドベントカレンダー向き。
— とみたまさひろ💎🐬 (@tmtms) 2017年12月4日
変更点ちょっとずつ小出しにして、Ruby2.5独りアドベントカレンダーをやっても良かったかもしれない。
— とみたまさひろ💎🐬 (@tmtms) 2017年12月4日
こんなことを呟いたのを思い出したんで独りアドベントカレンダーをやってみました。 来年も気力があればやるかもしれません。
メリークリスマス!
[追記]
まとめて読みたいなら、これが良さそう。 techlife.cookpad.com