【知らないと損】現役エンジニアが使ってるRubyの便利メソッド7選

コードが劇的に短くなる魔法のメソッド

Rubyを使っているなら絶対知っておきたい便利メソッドをご紹介!

1. select & reject – 配列フィルタリング

numbers = [1, 2, 3, 4, 5, 6]

# 偶数だけ取得
even = numbers.select(&:even?)  # [2, 4, 6]

# 奇数を除外
not_odd = numbers.reject(&:odd?)  # [2, 4, 6]

2. map – 配列の各要素を変換

names = ["alice", "bob", "charlie"]
capitalized = names.map(&:capitalize)  # ["Alice", "Bob", "Charlie"]

# こんな書き方も!
prices = [100, 200, 300]
with_tax = prices.map { |price| price * 1.1 }  # [110.0, 220.0, 330.0]

3. find – 条件に合う最初の要素

users = [
  { name: "Alice", age: 25 },
  { name: "Bob", age: 30 },
  { name: "Charlie", age: 35 }
]

adult = users.find { |user| user[:age] >= 30 }
# { name: "Bob", age: 30 }

4. group_by – グルーピング

words = ["apple", "banana", "cherry", "apricot"]
grouped = words.group_by { |word| word[0] }
# {"a"=>["apple", "apricot"], "b"=>["banana"], "c"=>["cherry"]}

5. compact – nil要素を除去

array = [1, nil, 2, nil, 3]
clean_array = array.compact  # [1, 2, 3]

6. present? – 存在チェック(Rails)

# こんな長い条件文は不要!
if !user.name.nil? && !user.name.empty?
  puts user.name
end

# これだけでOK
if user.name.present?
  puts user.name
end

7. try – 安全なメソッド呼び出し

# nilエラーを防ぐ
user = nil
name = user.try(:name)  # nil(エラーにならない)

# または
name = user&.name  # Ruby 2.3以降

まとめ

これらのメソッドを使いこなせば、コードがぐっと読みやすく、短くなります。特にmapselectfindは必須です!


よく参考にさせていただいているEngineerCompassさんのサイトは下記からどうぞ。

Engineer Compass -

コメント

タイトルとURLをコピーしました