👽

【Ruby Silver対策】aliasメソッドについて

2024/07/01に公開

Rubyには、同じ機能を持つメソッドに複数の名前がつけられている場合があります。これをエイリアスメソッドと呼びます。

エイリアスメソッドを活用することで、Rubyのコードをより読みやすく、保守しやすくすることができます。例えば、チームメンバーがどちらのメソッド名に馴染みがあるかを考慮して、コードベースで統一したメソッド名を使用することもできます。以下に代表的なエイリアスメソッドの例を紹介します。

mapとcollect

mapとcollectは、配列の各要素にブロックを適用し、新しい配列を返します。例えば、配列内の数値をすべて2倍にする場合に使用します

[1, 2, 3].map { |x| x * 2 }    # => [2, 4, 6]
[1, 2, 3].collect { |x| x * 2 } # => [2, 4, 6]

detectとfind

detectとfindは、配列の中で条件に一致する最初の要素を返します。例えば、配列内の最初の偶数を見つけたい場合に使用します。

[1, 2, 3, 4].detect { |x| x.even? }  # => 2
[1, 2, 3, 4].find { |x| x.even? }    # => 2

selectとfind_all

selectとfind_allは、条件に一致するすべての要素を配列として返します。例えば、配列内のすべての偶数を取得したい場合に使用します。

[1, 2, 3, 4].select { |x| x.even? }    # => [2, 4]
[1, 2, 3, 4].find_all { |x| x.even? }  # => [2, 4]

updateとmerge!

updateとmerge!は、ハッシュの内容を破壊的に更新します。例えば、既存のハッシュに別のハッシュの内容をマージする場合に使用します。

hash1 = { a: 1, b: 2 }
hash2 = { b: 3, c: 4 }
hash1.update(hash2)  # => { a: 1, b: 3, c: 4 }
hash1.merge!(hash2)  # => { a: 1, b: 3, c: 4 }

lengthとsize

lengthとsizeは、配列や文字列の長さを返します。例えば、文字列の長さを取得して、その文字列が特定の長さを超えているかどうかを確認する場合に使用します。

[1, 2, 3].length  # => 3
[1, 2, 3].size    # => 3
"hello".length    # => 5
"hello".size      # => 5

参考記事

https://magazine.techacademy.jp/magazine/19836
https://qiita.com/miyaki2003/items/c878959da5e500768c1a

Discussion