『Ginza.rb 第87回 - Ruby 3.4について学ぶぞ』に参加した。会場はメドピアさん。今月もありがとうございます。
当日は、Ruby 3.4.0 のリリース記事をベースに willnet さんのファシリテーションによる Ruby 3.4 へのアップデートが特集された。
中でも it
ブロックパラメータと、chilled string まわりそれぞれに関連する参加者への問いかけは、RuboCop メンテナーという自身の側面への参考になったりした。あくまで今回の参加者の傾向として、it
以前の numbered block parameter が思いのほか使われていたようなのと、frozen string literal magic comment も概ね付けるようだった。
前者の it
構文については、個人的な感性としては Ruby 2.7 導入の _1
という記号じみた表記が馴染まず、書き捨てのスクリプトならまあいいかといった温度感。プロダクトコードなら名前をつけましょうというもの。そういった意味から、参加者の使っているという文脈はメンテナンスしていくプロダクトでも使っているのかな?というのは少し気になったところ。使われている現場がいくつも存在していることは把握しているものの、このあたりの参加者の感性という面でのお気持ちをもう少し聞いておけばよかった。余談ながら、it
は (_2
など複数パラメータが使える) _1
よりも受け入れられる傾向にある点について、先日の Rails/OSS パッチ会で @amatsuda がウマいこといっていた...ような? (published by @junk0612)
"二兎を追うものは it をも得ず"
— D-Swordman (@junk0612) 2025年1月23日
後者の frozen string literal への動きについては、frozen string literal のマジックコメントを RuboCop がデフォルトで強制することもあるため、ユーザーとしてはあまり意識せずについているという部分はあるのかもしれない。なお、Ruby 3.0 の頃に frozen string literal が延期された際に、RuboCop の方にもデフォルトで frozen string literal のマジックコメントをデフォルトで強制するのをやめましょうという提案が来たけれど、それを撥ねたのは自分。理由としては、 (その当時にも) Matz としては将来的に frozen string literal を目指しているのと、それは RuboCop などのツールによって非互換が和らぐ部分が期待されているという話があったため。このあたりは、言語デザイナーの方向にあわせた動きを選んだ当時を思い出しながら聞いていたりした。
他にもいろいろと話がありつつ、みんな 3.4 に上げていきましょうという感じでお開き。今回も良い会でした。
次回の Ginza.rb は2025年2月28日(金) に、Omakub と Kamal といった DHH に縁のあるプロダクトをテーマに取り上げられる予定です。