概要
キーワード引数のデフォルト値省略
詳細
Ruby2.0で導入されたキーワード引数ですが、デフォルト値を省略したいという
要望が多かったため、Ruby2.1で機能追加されました。
サンプルコード
# encoding: utf-8 require 'tbpgr_utils' def show_charactor(charactor, upper: , spacing: ) charactor.upcase! if upper charactor = charactor.spacing if spacing charactor end bulk_puts_eval binding, <<-EOS show_charactor("hoge", upper: true, spacing: true) show_charactor("hoge", spacing: true, upper: true) EOS
出力
show_charactor("hoge", upper: true, spacing: true) # => "H O G E" show_charactor("hoge", spacing: true, upper: true) # => "H O G E"
補足
デフォルトを省略すると、引数を省略できなくなります。
その際は下記のようなエラーメッセージになります。
ruby_2_1_keyargs.rb:10:in `<main>': missing keywords: upper, spacing (ArgumentError) : :