Ruby

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

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

【一人 bugs.ruby Advent Calendar 2020】[Feature #17316] On memoization【10日目】

一人 bugs.ruby Advent Calendar 2020 10日目の記事になります。 [Feature #17316] On memoization Ruby でインスタンス変数を初期化する場合、以下のように ||= 演算子を使うことが多いです。 # @foo の初期値として最初にメソッドが呼び出された時に some_…

【一人 bugs.ruby Advent Calendar 2020】[Bug #17058] Array#delete_if doesn't change array instantly【9日目】

一人 bugs.ruby Advent Calendar 2020 9日目の記事になります。 [Feature #13820] Add a nil coalescing operator このチケットは Ruby に ?? 演算子を追加しよう、というチケットになります。 ?? 演算子は || 演算子と似ているのですが『左辺が nil のとき…

【一人 bugs.ruby Advent Calendar 2020】[Bug #17058] Array#delete_if doesn't change array instantly【8日目】

一人 bugs.ruby Advent Calendar 2020 8日目の記事になります。 [Bug #17058] Array#delete_if doesn't change array instantly さて Array#delete_if で条件にあった要素を削除する事ができます。 a = [1, 2, 3, 4, 5, 6] # 偶数を削除する a.delete_if { |…

【一人 bugs.ruby Advent Calendar 2020】[Feature #16986] Anonymous Struct literal【7日目】

一人 bugs.ruby Advent Calendar 2020 7日目の記事になります。 [Feature #16986] Anonymous Struct literal このチケットは Struct を定義する新しいリテラルの提案です。 提案自体はそこまで複雑な内容ではなくて Struct.new(:a, :b).new(1, 2) を ${a: 1,…

【Ruby 3.0 Advent Calendar 2020】今年 Ruby に投げたパッチまとめ【6日目】

Ruby 3.0 Advent Calendar 2020 6日目の記事になります。 昨日は Rubyにはオブジェクトを汚染する仕組みがあった - いまブログです。 今年は RubyVM::AbstractSyntaxTree を触ることが多かったのですが、それに関連してバグっぽい挙動をいくつか見つけたので…

【一人 bugs.ruby Advent Calendar 2020】[Bug #15712] DateTime#=== should be defined and compare date and time instead of just the date【6日目】

一人 bugs.ruby Advent Calendar 2020 6日目の記事になります。 [Bug #15712] DateTime#=== should be defined and compare date and time instead of just the date このチケットは DateTime#=== で比較する際に日付だけ考慮して時刻を考慮せずに比較されて…

【一人 bugs.ruby Advent Calendar 2020】[Feature #17210] More readable and useful `Set#inspect`【5日目】

一人 bugs.ruby Advent Calendar 2020 5日目の記事になります。 [Feature #17210] More readable and useful Set#inspect このチケットでは Set#inspect や Set#to_s の結果をより Ruby 側に寄せよう、という提案がされています。 # 現状 puts Set[1, 2, 3] …

ぽしゃけを飲みながら Ruby のコードをリファクタリングしてみた

ぽしゃけを飲みながら Rubyでリファクタリングをやってみよう を読んでいたんですが、無性にリファクタリングしたくなってきたので勢いでリファクタリングしました。 リファクタリング前 class Purchaser attr_reader :section, :purchased_at def initializ…

【一人 bugs.ruby Advent Calendar 2020】[Bug #17030] Enumerable#grep{_v} should be optimized for Regexp【4日目】

一人 bugs.ruby Advent Calendar 2020 4日目の記事になります。 [Bug #17030] Enumerable#grep{_v} should be optimized for Regexp ary.select { |e| e.match?(reg) } と比較して ary.grep(reg) の方が遅いので最適化しよう、という内容のチケットになりま…

【一人 bugs.ruby Advent Calendar 2020】[Bug #17101] YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4【3日目】

一人 bugs.ruby Advent Calendar 2020 3日目の記事になります。 [Bug #17101] YAML.load_file: Massive slowdown under Ruby 2.7 vs. Ruby 2.4 この記事では YAML.load_file の実行速度について言及されているチケットになります。 Ruby 2.4 と比べて Ruby 2…

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

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

【一人 bugs.ruby Advent Calendar 2020】[Feature #17043] Invokable module for custom Proc-like objects【2日目】

一人 bugs.ruby Advent Calendar 2020 2日目の記事になります。 今回は Proc オブジェクトの共通のモジュールを定義しよう、という提案のチケットです。 [Feature #17043] Invokable module for custom Proc-like objects このチケットは『Proc なオブジェク…

【Rails Advent Calendar 2020】大好きな changes が deprecated になるなんて間違っている!!!【2日目】

Rails Advent Calendar 2020 2日目の記事になります。 この記事では最近までずーっっっっと Rails で勘違いしていた事があったのでその事の顛末を簡単にまとめてみたいと思います。 Rails 5.1 から changes 等が deprecated になる? さて、わたしが Rails …

令和時代の Ruby 基礎文法最速マスター

令和時代の基礎文法最速マスター Advent Calendar 2020 1日目の記事になります。 この Advent Calendar は昔流行っていた 基礎文法最速マスター をまたやりたいなあ…という思いからはじめました。 まだ空きはあるので興味があるひとは参加してもらってもいい…

【Ruby Advent Calendar 2020】Ruby の AST から Ruby のソースコードを復元しよう【1日目】

Ruby Advent Calendar 2020 1日目の記事になります。 もう今年も Advent Calendar の時期ですね。 今年は 12/25日に Ruby 3.0 がリリースされるのでとても楽しみです。 並行して Ruby 3.0 Advent Calendar 2020 も開催しているので興味があるひとはぜひ参加…

【Ruby 3.0 Advent Calendar 2020】Ruby に右代入がやってくる【1日目】

Ruby 3.0 Advent Calendar 2020 1日目の記事になります。 もう今年も Advent Calendar の時期ですね。 並行して Ruby Advent Calendar 2020 も開催しているので興味があるひとはぜひ参加してみてください! Ruby 3.0 Advent Calendar 2020 もまだ空きはいっ…

【一人 bugs.ruby Advent Calendar 2020】[Feature #16746] Endless method definition【1日目】

一人 bugs.ruby Advent Calendar 2020 1日目の記事になります。 さて、今年は『毎週気になった bugs.ruby のチケットをまとめてみる』ということをやってみました。 今週の気になった bugs.ruby のチケット 思ったよりも継続的に続けることができたので Adve…

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

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

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

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

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

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

Omotesando.rb #56 で LT してきた

約9ヶ月ぶりぐらいに Omotesando.rb が開催されて LT してきました。 今回ははじめてのオンライン開催です! Omotesando.rb #56 - connpass パターンマッチと右代入が便利になる gem をつくった 内容は前に pattern_matchable というパターンマッチで便利に…

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

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

開発版の Ruby 3.0 の右代入で分割代入ができる機能がはいった

入りました。 元々はパターンマッチの 1行 in を利用して分割代入を行えるような機能が Ruby 2.7 で実験的に入っていました。 # Ruby 2.7 で動くコード p RUBY_DESCRIPTION # => "ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-linux]" data = {…

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

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

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

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

reline で printf デバッグするときのライフハック

今日の Toyama.rb で reline のデバッグするときの便利機能を聞いたので覚書。 reline を起動した状態で reline 自体を printf デバッグすると表示が崩れてしまうのでその場合のライフハック。 端末を2つ用意する デバッグ出力用と実際に reline の入力用の2…

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

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

Kaigi on Rails STAY HOME Edition で登壇した

完全に勢いで CFP を出したら奇跡的に通ったのでエモい話をしました。 ActiveRecord と書いてあるんですがあんまり ActiveRecord の機能とかの解説はなくて『ActiveRecord を読むときに何に気をつけているのか』みたいな内容です。 ActiveRecord の歩み方 反…

Ruby 2.7.2 がリリースされ、今後は非推奨な警告はデフォルトでは出なくなる

先日 Ruby 2.7.2 がリリースされました。 Ruby 2.7.2 リリース このリリースで先日お伝えした『非推奨な警告がデフォルトでは出なくなる』ようになりました。 なので、今後は非推奨な機能が削除されるといきなりアプリケーションが動作しなくなる可能性があ…