忘れがちな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のソースコードなどに普通に出てくるメソッドなので、抑えておきたいところをまとめました。
ここまで読んでいただきありがとうございました。