Ruby

2021/08/13 今週の気になった bugs.ruby のチケット

今週は instance_exec に Method#to_proc を渡すと意図しない例外が返ってくるというバグ報告や Ruby 3.0.2 で Hash#transform_keys! を呼び出すとメモリリークをするという報告がありました。 前回のまとめ [Feature #18070] attr should be removed 1.9 か…

2021/08/05 今週の気になった bugs.ruby のチケット

今週はネストしたループで caller_locations を呼び出すと segv するバグ報告などがありました。 前回のまとめ [Feature #18057] Introduce Array#mean 配列の平均値を求める Array#mean メソッドを追加する提案 元々は Array#average という名前だったが #m…

2021/07/29 今週の気になった bugs.ruby のチケット

Integer.try_convert の追加や Struct.new.keyword_init? の追加などがありました。 前回のまとめ [Feature #10473] Change Date#to_datetime to use local time Date#to_datetime でローカルのタイムゾーンを使用しよう、というバグ報告 現状はローカルのタ…

2021/07/18 今週の気になった bugs.ruby のチケット

今週は TracePoint 周りのバグがありました。 先週のまとめ [Feature #17039] Remove Time#succ Time#succ を削除するチケット 1.9.2 の頃から廃止の警告がでてたらしい warning: Time#succ is obsolete; use time + 1 と、いうわけで Ruby 3.1 から削除され…

2021/07/08 今週の気になった bugs.ruby のチケット

今週は 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 に変更されるチケット 現時点で(あ…

2021/07/01 今週の気になった bugs.ruby のチケット

今週はエラー箇所をハイライトする error_highlight という gem が本体に追加されました。 先週のまとめ [Feature #17930] Add column information into error backtrace エラー箇所をハイライトする機能の提案 error_highlight という gem として取り込まれ…

2021/06/24 今週の気になった bugs.ruby のチケット

今週はエラー箇所をマークする gem の PR などがありました。 先週のまとめ [Bug #14817] TracePoint#parameters for bmethod's return event should return the same value as its Method#parameters TracePoint の :return イベント時に TracePoint#parame…

2021/06/17 今週の気になった bugs.ruby のチケット

今週は ENV に対して変更が入りました。 先週のまとめ [Bug #17098] Float#negative? reports negative zero as not negative -0.0 が Float#negative? で false を返すのは期待しているのか?というバグ報告 IEEE 754 の規格?でそう定まってるらしい? neg…

2021/06/10 今週の気になった bugs.ruby のチケット

今週は TypeScript のようなコンストラクタを Ruby に導入したい、というチケットなどがありました。 先週のまとめ [Feature #17942] Add a initialize(public @a, private @b) shortcut syntax for defining public/private accessors for instance vars as…

2021/06/04 今週の気になった bugs.ruby のチケット

今週は backtrace に情報を追加する提案がありました。 先週のまとめ [Misc #17932] 90s design (please lets move to 21st century) バグトラッカーを古いデザインから新しいデザインにしようぜ!っていうチケット github へディスカッションを移動しようぜ…

2021/05/30 今週の気になった bugs.ruby のチケット

今週は prepend した際の定数探索のバグ報告がありました。 先週のまとめ [Bug #17887] Missed constant lookup after prepend 次のように prepend したときの定数の探索がおかしいというバグ報告 class A FOO = 'a' end class B < A def foo FOO end end b …

Ruby の Psych.safe_load(YAML.safe_load)の引数が Psych v4.0.0 から非互換になる

さてさて、先日 YAML.load が非互換になる話を書きました。 その時に Psych.safe_load をいろいろと触ってたのですがその中で Psych.safe_load の引数もバージョンによって変わっていることに気づいたので書き溜めておきます。 先にまとめだけを書いておくと…

Ruby の YAML.load が非互換になる(かもしれない)

タイトルは釣りっぽいんですが Psych v4.0.0 で『 Psych.load が Psych.safe_load を使用するようになった』事で普段利用している YAML.load や YAML.load_file が今後非互換になってしまう、という話です。 この変更により今まで読み込むことができていた Y…

2021/05/20 今週の気になった bugs.ruby のチケット

今週は Psych の非互換な変更に対するチケットできていました。 かなり影響範囲が広いのでどうなるか今後どうなっていくのか気になる。 先週のまとめ [Bug #17866] Incompatible changes with Psych 4.0.0 先週話していた Psych.load を Psych.safe_load に…

Ruby の Range#include? を使うよりも Range#cover? を使うほうが高速になることがある

次のように 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…

2021/05/18 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR psych #487] Use Psyc…

Ruby の Warning[:experimental] = false は実行時に反映されないケースがある

某所でそういう話が出ていたのでいろいろと調べてまとめてみました。 Warning[:deprecated] = true / false で実行時に非推奨な警告を制御できる Warning[:deprecated] に true / false を割り当てることで実行時に非推奨な警告の出力を制御することができま…

2021/05/06 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Bug #17838] Set#interse…

2021/04/29 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Feature #17830] Add Int…

2021/04/22 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Bug #9542] Delegator do…

2021/04/18 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Feature #17790] Have a …

2021/04/08 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR irb #219] Add pry-li…

2021/04/01 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Bug #17757] Hash#slice …

2021/03/25 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR irb #212] Complete r…

2021/03/18 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR irb #202] process mu…

Ruby の Hash リテラルでキーが重複している場合の奇妙な動作

最近こういう動作を見つけたので覚書。 Hash リテラルでキーが重複しているとどうなるのか Hash リテラルで Hash を定義した場合、キーの順番は『記述した順番』になります。 # ここで定義した順番になる hash = { age: 14, name: "homu" } pp hash # => {:a…

2021/03/11 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Bug #16908] Strange beh…

2021/03/05 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [Feature #17660] Expose …

BuriKaigi2021 で Ruby 2.0 〜 Ruby 3.0 までの話をしてきた

はい、ということで開催されてからだいぶ時間が経っちゃったんですが先月末に開催された BuriKaigi2021 で Ruby 2.0 〜 Ruby 3.0 の話をしてきました。 Ruby 2.0 から Ruby 3.0 を駆け足で振り返る と、ここでならいつも雑に振り返りを行うのですが以下のブ…

2021/02/25 今週の気になった bugs.ruby のチケット

内容は適当です。 今週と言っても今週みかけたチケットなだけでチケット自体は昔からあるやつもあります。 あくまでも『わたしが気になったチケット』で全ての bugs.ruby のチケットを載せているわけではありません。 先週のまとめ [PR #4193] Add Hash#dele…