🖥

#Ruby キーワード引数はハッシュのままでメソッドに与えることが出来る - example : pass method keyword a

2019/11/17に公開

柔軟に受け取るようにできているっぽい

class A
  def initialize(arg1, arg2, a:, b:, c:)
    @arg1 = arg1
    @arg2 = arg2
    @keyword_arg_a = a
    @keyword_arg_b = b
    @keyword_arg_c = c
  end

  def echo
    p @arg1
    p @arg2
    p @keyword_arg_a
    p @keyword_arg_b
    p @keyword_arg_c
  end
end



A.new(:some, :how, a: 1, b: 2, c: 3).echo

options = { a: 1, b: 2, c: 3 }

A.new(:some, :how, **options).echo

A.new(:some, :how, options).echo

# :some
# :how
# 1
# 2
# 3

Original by Github issue

https://github.com/YumaInaura/YumaInaura/issues/2728

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2019-11-17

Discussion