読者です 読者をやめる 読者になる 読者になる

可変長引数をhashする

可変長引数でhash化することができるオプションがあります。

def hash(**k)
  puts "#{k}"
end

hash(foo: 'bar', hoge: 'hoge')
→{:foo=>"bar", :hoge=>"hoge"}

普通はhash(*k)とした場合は、ただの可変長引数でいくらでも引数が入力できるという状態になります。

そこをhash(**k)とすれば大丈夫です。

ただ、この場合は、必ずhash化しないとエラーになります。

hash(foo: 'bar', hoge: )
→syntax error, unexpected ')'
hash(foo: 'bar', hoge: '')
→{:foo=>"bar", :hoge=>""}

以上です。