😎

[Feature #20049] `#drop_while!` を追加する提案

2024/04/21に公開

[Feature #20049] Destructive drop_while for Array and Hash

  • 他の ! メソッドと同様に drop_while! を追加する提案
h = {foo: 0, bar: 1, baz: 2}
h.drop_while!{|element| key, value = *element; value < 2 }
h #=> # => { baz: 2 }
  • drop_while! があるなら take_while! も欲しくなりますねー
  • ユースケースとしては以下のようにパーサやスキャナで利用されるケースがコメントされてますね
# 行頭の任意の列を取り除く
lines.drop_while! { ln.match?(/HEADER:/) }
# 以下、クリーンな状態で lines を扱う
GitHubで編集を提案

Discussion