かっちゃんのプログラミング奮闘記

このブログは、僕がプログラミング学習をしていく上で、知識のインプットを図るためのアウトプット場所として活用している場所です。

eachに関連する豆知識

◇mapメソッドでのeach メソッド


<%= @blog.tags.map(&:name).join("\\n") %>

上記のコードは以下の書き方を省略して書いたコードになる。

<%= blog.tags.map { |tag| [tag.name] } %>

✍️join

joinは情報を連結して取得する。

✍️("\n")

\nがで情報1つづつ空白で分けて取得してくれる。

◇pluckメソッド

eachメソッドと同じことができる。

blog.tags.pluck(:name).join(', ')

pluckの方がeachよりもパフォーマンスが高い場合もある。

◇結論

・特定の情報のみ取得するときはpluckのが処理が早い

・2000回とか連続して情報を取得する時はmapのが早い(SQLの発行がmapは1回で済むため)

pluckは毎回SQLが発行されるから大量処理には向かない