その他

【Ruby】忘れがちなメソッド

忘れがちなRubyのメソッドをまとめていきます。随時更新予定です!

return a, b

メソッド内で return a, b のようにした場合はそのメソッドの返り値は配列 [a, b] になります。

def hoge
  return 1, 2
end

p hoge # [1, 2]

なので、このようなことができます。

def hoge
  return 1, 2
end

a, b = hoge
p a, b # 1, 2

直感的ですし割と便利なので、覚えておいて損ないです。

ハッシュに対してeachメソッド

ハッシュに対してのeachメソッドを使う場合は変数の個数によってその挙動が異なります。まずは引数を2つ用いた場合です。

{ name: 'さかい', age: 27 }.each do |k, v|
  puts "kは「#{k}」です"
  puts "vは「#{v}」です"
  puts k.class
end

$ ruby ruby-sample.rb
kは「name」です
vは「さかい」です
Symbol
kは「age」です
vは「27」です
Symbol

第一変数にはキー、第二変数にはバリューが入ります。

一方、引数を1つしか指定しなかった場合は次のようになります。

{ name: 'さかい', age: 27 }.each do |k|
  puts "kは「#{k}」です"
  puts k.class
end

kは「[:name, "さかい"]」です
Array
kは「[:age, 27]」です
Array

上のように変数にはキーとバリューが配列として入ります。

まとめ

当たり前なようで意外と知らなかったメソッドが多い印象でした。普通にGemのソースコードなどに普通に出てくるメソッドなので、抑えておきたいところをまとめました。
ここまで読んでいただきありがとうございました。

ABOUT ME
酒井 駿
名古屋工業大学大学院卒業後、豊田合成(株)で品質管理を経験し、その後スタートアップ・マネーフォワードを経て、2024年11月に株式会社EGGHEAD創業。 製造業とエンジニアリング、両方の現場の知見を活かし、製造業における生成AIを活用した業務改善やシステム開発を支援します。