DesignAssembler

備忘録に近い

キーワード引数(Ruby)

キーワード引数

Ruby2.0からキーワード引数が導入されました。

こんなコードです

def keyword_func(key:)
  puts key
end

> keyword_func(key: "value")
value

> keyword_func(key: 1)
1

> keyword_func(key: {key1: 1, key2: 2})
{key1: 1, key2: 2}

> keyword_func(key: True)
True

> keyword_func(key: False)
False

引数にはどんな型でも指定できます。試しにputs keyをputs key.classにするとStringやTrueclassといったクラス名が表示されました。

上のような短いメソッドでは冗長になる可能性が高いですが、引数が多いメソッドであればメソッドがわかりやすくなり可視性が増します。

参考

Rubyist Magazine - Ruby 2.0.0 のキーワード引数

www.techscore.com

ruby.swift-studying.com