ruby-trunk-changes 2022-10-10

今日は主に MatchData の #deconstruct および #deconstruct_keys メソッドの追加などがありました。

[4954c9fc0f] Vladimir Dementyev 2022-08-06 00:13:09 UTC

MatchData に deconstruct と deconstruct_keys メソッドを追加して名前つきグルーピングでマッチした部分の抽出を Hash でできるようにしています。確か pattern match でものこメソッドを利用するので pattern match に MatchData を利用できるようになるということですね。 https://github.com/ruby/ruby/pull/6216 [ruby-core:108802] [Feature #18821]

[0a98dd1cff] Nobuyoshi Nakada 2022-10-10 04:21:57 UTC

4954c9fc0f9d06aa4e3e8deb33b41f3fae294adc の実装でオブジェクトの型チェックに Check_Type() を利用するリファクタリング

[6c5a8c2043] Nobuyoshi Nakada 2022-10-10 02:43:34 UTC

rubyspec のファイルの atime/ctime/mtime のテストで stat(1) コマンドの出力を取り込む時に必要以上の精度の桁が出ることがあるみたいでそれを削るようにしています。

[f1c89c8147] "S.H" 2022-10-10 04:52:25 UTC

error.c の rb_warn_deprecated() および rb_warn_deprecated_to_remove() でマクロ with_warning_string_from() を利用するようにリファクタリングしています。

[1a7e7bb2d1] Jean Boussier 2022-10-07 12:44:13 UTC

rb_eql() の戻り値として Qtrue/Qfalse を使っていたのを C の真偽値(TRUE/FALSE)を利用するようにしています。Qfalse は C の偽なのでほとんど同じ意味だと思いますが Doxygen 用コメントでも戻り値が RUBY_Qtrue/RUBY_Qfalse と明記されていたのに戻り値の型が int だったので C の型にあわせたみたいです。