Ruby

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…

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

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

Ruby で ["homu", "mami", "mado"].sum を呼ぶとエラーになる

今日の知見です。 Array#sum メソッドは要素を #+ で結合してその結果を返します。 p [1, 3, 5, 7].sum # => 16 また Array#sum に引数を渡すことで足し込む値の初期値を指定することもできます。 p [1, 3, 5, 7].sum(100) # => 116 ["homu", "mami", "mado"…

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

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

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

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

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

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

Ruby で UTF-8 の文字列を SJIS で文字化けさせたり復元したりする

以下の記事を知人と話していたら思ったよりも盛り上がったので覚書。 新春!文字化けクイズ | Raksul ENGINEERING ちなみにクイズのネタバレがあるので見たくない人は読まないでね!! 縺ゅ¢縺セ縺励※縺翫a縺ァ縺ィ縺 みたいな文字化けした文字列を Ruby で生…

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

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

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

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