Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

メソッドにハッシュを渡してオプションっぽく使う

メソッドにハッシュを渡してオプションっぽく使う事ができます。

def functionA(num, option = {})
  puts "hoge!"  if option.key? :hoge
  puts "fuga!!" if option.key? :fuga
  puts num
end

結果は

functionA(8, hoge: 'as', fuga: 'nya')
# hoge!
# fuga!!
# 8

functionA(1, hoge: 'as')
#hoge!
#1

一個のメソッドであまりゴチャゴチャするとよろしく無いのですが...
ワインライナーなんかでは使い勝手があるかもしれません