Hamada.rb #16 に参加

この記事は2020年ふりかえりアドベントカレンダー 8日目です。昨日の記事は yarn install 時の gyp: No Xcode or CLT version detected! を解消する - いまブログ です。

島根県浜田市Ruby コミュニティ、 Hamada.rb に参加しました。現在はオンラインで開催されています。

hamadarb.connpass.com

同時に Ruby Hacking Challenge in Hamada.rb も開催されています。

hamadarb.connpass.com

Ruby 3.0 preview-2

今日はちょうど Ruby 3.0 preview-2 がリリースされたので、リリースノートをみんなで読んでいました。

www.ruby-lang.org

リリースノートのリンク切れを見つけ、勉強会中に PR を立てている方がいました。

www.ruby-lang.org 用のリポジトリがあると知らなかったので勉強になりました。

github.com

github.com

bundled gems ?

リリースノートにこんな一文がありました。

以下のライブラリが新たに bundled gems になりました。Bundler から利用する場合は Gemfile に明示的に指定してください。(中略) 以下のライブラリが新たに default gems になりました。rubygems.org からアップデート可能です。

bundled gems と default gems とはなんでしょうか?

調べてみたところこういった違いがあるようです。

ライブラリ 扱い
標準ライブラリ Builtin libraries, 組み込みライブラリとも呼ぶ。 require 不要で使える Array, String など
標準添付ライブラリ Ruby に同梱されているライブラリ。 require すれば使える。 bundled gems と default gems に分かれる。 -
bundled gems Ruby に同梱されているが、gem uninstall ができる gem 。Bundler から使う場合は Gemfile に指定する minitest など
default gems Ruby に同梱されており、gem uninstall できない gem 。 rubygems.org からアップデート可能 irb, reline など

間違っていたらご指摘ください🙏

試しに reline をアンインストールしてみようとしたら怒られました。

$ gem uninstall reline           
Gem reline-0.1.5 cannot be uninstalled because it is a default gem

ちなみに bundled gems と default gems はこちらで定義されています。

ruby/bundled_gems at ruby_2_7 · ruby/ruby

ruby/sync_default_gems.rb at master · ruby/ruby

参考資料

bundled gem と default gem の違い - @znz blog

bundled gem と default gem の違いの具体例 - @znz blog

irb のバグ

以前から気になっていた irb のバグっぽい挙動を相談しました。

他の方も同じ挙動が確認できたこと、自力で直すのが大変そうなこと(Ruby で書かれている irb ならともかく、 CRuby 本体の Warning 周りに原因があると私にはお手上げです)、Ruby 3.0 リリースまでに直っていてほしいと思ったことからチケットを起票しました。

Hamada.rb は CRuby の貢献フローになれている方が多く、いろいろアドバイスいただいてすぐに起票できました。

詳細はこちらをご覧ください。

bugs.ruby-lang.org

英語書くのにとても悩んで時間がかかりました。チケットを書く時間の90%は英語で悩んでいた時間と言っても過言ではありません。リーディング・ライティング力を身に着けたいです。

今日はこんなところで。