Ruby

【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
sakai
三重出身の28歳。前職はメーカーで働いていて、プログラミングスクールに通って未経験からWeb業界に転職しました。Railsをメインで使っていて、AWSも少しできます。音楽を聞くこととYoutubeを見るのが好きです。最近はへきトラ劇場にハマってます