Ruby
今週は instance_exec に Method#to_proc を渡すと意図しない例外が返ってくるというバグ報告や Ruby 3.0.2 で Hash#transform_keys! を呼び出すとメモリリークをするという報告がありました。 前回のまとめ [Feature #18070] attr should be removed 1.9 か…
今週はネストしたループで caller_locations を呼び出すと segv するバグ報告などがありました。 前回のまとめ [Feature #18057] Introduce Array#mean 配列の平均値を求める Array#mean メソッドを追加する提案 元々は Array#average という名前だったが #m…
Integer.try_convert の追加や Struct.new.keyword_init? の追加などがありました。 前回のまとめ [Feature #10473] Change Date#to_datetime to use local time Date#to_datetime でローカルのタイムゾーンを使用しよう、というバグ報告 現状はローカルのタ…
今週は TracePoint 周りのバグがありました。 先週のまとめ [Feature #17039] Remove Time#succ Time#succ を削除するチケット 1.9.2 の頃から廃止の警告がでてたらしい warning: Time#succ is obsolete; use time + 1 と、いうわけで Ruby 3.1 から削除され…
今週は Ruby 3.1.0 で default gem から bundled gem に移動するチケットなどを載せています。 先週のまとめ [Feature #17873] Update of default gems in Ruby 3.1 Ruby 3.1 からいくつかの default gem が bundled gem に変更されるチケット 現時点で(あ…
今週はエラー箇所をハイライトする error_highlight という gem が本体に追加されました。 先週のまとめ [Feature #17930] Add column information into error backtrace エラー箇所をハイライトする機能の提案 error_highlight という gem として取り込まれ…
今週はエラー箇所をマークする gem の PR などがありました。 先週のまとめ [Bug #14817] TracePoint#parameters for bmethod's return event should return the same value as its Method#parameters TracePoint の :return イベント時に TracePoint#parame…
今週は ENV に対して変更が入りました。 先週のまとめ [Bug #17098] Float#negative? reports negative zero as not negative -0.0 が Float#negative? で false を返すのは期待しているのか?というバグ報告 IEEE 754 の規格?でそう定まってるらしい? neg…
今週は TypeScript のようなコンストラクタを Ruby に導入したい、というチケットなどがありました。 先週のまとめ [Feature #17942] Add a initialize(public @a, private @b) shortcut syntax for defining public/private accessors for instance vars as…
今週は backtrace に情報を追加する提案がありました。 先週のまとめ [Misc #17932] 90s design (please lets move to 21st century) バグトラッカーを古いデザインから新しいデザインにしようぜ!っていうチケット github へディスカッションを移動しようぜ…
今週は prepend した際の定数探索のバグ報告がありました。 先週のまとめ [Bug #17887] Missed constant lookup after prepend 次のように prepend したときの定数の探索がおかしいというバグ報告 class A FOO = 'a' end class B < A def foo FOO end end b …
さてさて、先日 YAML.load が非互換になる話を書きました。 その時に Psych.safe_load をいろいろと触ってたのですがその中で Psych.safe_load の引数もバージョンによって変わっていることに気づいたので書き溜めておきます。 先にまとめだけを書いておくと…
タイトルは釣りっぽいんですが Psych v4.0.0 で『 Psych.load が Psych.safe_load を使用するようになった』事で普段利用している YAML.load や YAML.load_file が今後非互換になってしまう、という話です。 この変更により今まで読み込むことができていた Y…
今週は Psych の非互換な変更に対するチケットできていました。 かなり影響範囲が広いのでどうなるか今後どうなっていくのか気になる。 先週のまとめ [Bug #17866] Incompatible changes with Psych 4.0.0 先週話していた Psych.load を Psych.safe_load に…
次のように Date な Range では #include? よりも #cover? の方が高速で動作します。 require 'benchmark' require "date" range = (Date.parse("2020/01/01")..Date.parse("2021/01/01")) date = Date.parse("2020/05/01") Benchmark.bm(20) do |b| b.repor…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR psych #487] Use Psyc…
某所でそういう話が出ていたのでいろいろと調べてまとめてみました。 Warning[:deprecated] = true / false で実行時に非推奨な警告を制御できる Warning[:deprecated] に true / false を割り当てることで実行時に非推奨な警告の出力を制御することができま…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Bug #17838] Set#interse…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Feature #17830] Add Int…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Bug #9542] Delegator do…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Feature #17790] Have a …
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR irb #219] Add pry-li…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Bug #17757] Hash#slice …
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR irb #212] Complete r…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR irb #202] process mu…
最近こういう動作を見つけたので覚書。 Hash リテラルでキーが重複しているとどうなるのか Hash リテラルで Hash を定義した場合、キーの順番は『記述した順番』になります。 # ここで定義した順番になる hash = { age: 14, name: "homu" } pp hash # => {:a…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Bug #16908] Strange beh…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Feature #17660] Expose …
はい、ということで開催されてからだいぶ時間が経っちゃったんですが先月末に開催された BuriKaigi2021 で Ruby 2.0 〜 Ruby 3.0 の話をしてきました。 Ruby 2.0 から Ruby 3.0 を駆け足で振り返る と、ここでならいつも雑に振り返りを行うのですが以下のブ…
内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR #4193] Add Hash#dele…