2022-01-01から1年間の記事一覧

Ruby の引数の種類をまとめてみた

普段何気なく書いている Ruby なんですが実はメソッドの引数の種類って思ったよりも多くてまとめてみました。 実際自分も Ruby の AST をいじっている時に引数の種類が多すぎて混乱したのでまとめておくと色々と役に立つかなーと。 と、軽い気持ちで書いてみ…

2022/03/10 今回の気になった bugs.ruby のチケット

今週はブロックの引数で Hash が分割して受け取れなくなったチケットがありました。 [Misc #18609] keyword decomposition in enumerable (question/guidance) Ruby 3.0 から次のように Hash をキーワード引数で受け取れなくなったというチケット drafts = […

2022/03/03 今回の気になった bugs.ruby のチケット

今週はラテン文字を String#downcase したときのバグ報告がありました。 前回のまとめ [Feature #18603] Allow syntax like obj.method(arg)=value 次のようのような構文を許容する提案 obj.method(arg) = value これは以下と同じ意味になる obj.__send__(:m…

2022/02/24 今回の気になった bugs.ruby のチケット

今週はアクセシビリティ関連のバグ報告がありました。 前回のまとめ [Bug #18600 ] Aliased method visibility issue on Ruby 3.1 次のように親のメソッドを public にしてからalias_method すると private に戻ってしまっているというバグ報告 module M pri…

2022/02/17 今回の気になった bugs.ruby のチケット

今週はパターンマッチの find 検索を正式に導入するチケットがありました。 前回のまとめ [PR reline] Proposal for quick shell execution irb で . から始まるコマンドを入力した時に shell コマンドが実行されるようにする提案 pry だとこの機能が実装さ…

2022/02/10 今回の気になった bugs.ruby のチケット

今週はエンコーディングの ASCII_8BIT という名前を BINARY に変える提案がありました。 前回のまとめ [Feature #18576] Rename ASCII-8BIT encoding to BINARY エンコーディングの ASCII-8BIT を BINARY という名前に変更する提案 以下のようなエラーメッセ…

2022/02/03 今回の気になった bugs.ruby のチケット

今週は String 周りでメソッドを追加するチケットの話などがありました。 前回のまとめ [Feature #18564] Add Exception#detailed_message [Feature #18438] Add Exception#additional_message to show additional error information で議論した結果をまとめ…

Ruby 3.1 でオブジェクトが生成された箇所が表示できるようになった

Ruby 3.1 の小ネタです。 Ruby 3.1 で objspace/trace というライブラリが追加されました。 このライブラリを require すると p で出力するときに『オブジェクトが生成された箇所』が一緒に表示されるようになります。 # このライブラリを require するとオ…

BuriKaigi2022 で Ruby のメタプロの話をしてきた

去年に引き続き BuriKaigi2022 で Ruby の話をしてきました。 Ruby のメタプログラミングで遊んでみよう by @pink_bangbi ぶっちゃけ直前までなに話そうかずーっと考えてて最終的には好きなことを話そうと思って前々から離すきっかけをうかがっていた Ruby …

2022/01/29 今回の気になった bugs.ruby のチケット

今週はパターンマッチでインスタンス変数で値を束縛できるようにする話です。 [Feature #18408] Allow pattern match to set instance variables パターンマッチでインスタンス変数への束縛を許容したいチケット 現状はパターンマッチでインスタンス変数に対…

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

今週は CRuby を WASI に対応する変更がマージされました。 前回のまとめ [Feature #18462] Proposal to merge WASI based WebAssembly support CRuby を WASI に対応するチケット WASI は WebAssembly をブラウザではなくて OS で動かすための共通のプラッ…

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

今週はレシーバに定義されている定数名とその値の Hash を返すメソッドの提案がありました。 前回のまとめ [Bug #18475] Yielding an element for Enumerator in another thread dumps core 以下のコードを実行すると segv するというバグ報告 def run Threa…

Ruby の steep を試してみたメモ

雑な覚書 インストール $ gem install steep $ steep --version 0.47.0 注意点 steep 0.47.0 と activesupport 7.0 の組み合わせだとエラーになるので activesupport 7.0 未満を使う必要がある issues: https://github.com/soutaro/steep/issues/466 $ steep…

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

あけましておめでとうございます。 今年も引き続き書いていきたいと思います。 今週は Refinement 周りの便利メソッドが追加されたり匿名な * ** 引数をフォワードする機能がマージされました。 前回のまとめ [Feature #18460] implicit self for .() syntax…