LoginSignup
1
1

More than 5 years have passed since last update.

ブロックつきのEnumerable#grepの活用

Posted at

こんなコードを書いていたとき、

def process_list con
  con.query("show full processlist").select{|row| row['Info'] }.map{|row| row['Info'] }.to_enum
end

このままではEnumerable#selectとEnumerable#mapの分で2回ループをまわすことになり効率が悪いのでなにかないかと思っていたところ、ブロックつきのEnumerable#grepを使う方法があるようだ.

def process_list con
con.query("show full processlist").grep(->(row){ row['Info'] }){|row| row['Info'] }.to_enum
end

なかなか目から鱗だったのでメモしておく.

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1