🖥
# Rubyでハッシュの引数にデフォルト値を渡せるという基本をまるで知らなかった。もうキーワード引数のエラーに怯えない。
Ruby keyword arguments raises "unknown keyword (ArgumentError) " so use hash keyword with default value
Hash argument
class Alice
def initialize(options = { nickname: :liddel })
@options = options
end
def nickname
@options[:nickname]
end
end
p Alice.new.nickname
# :liddel
# unknown hash value ignored, not raise error
p Alice.new(nickname: :wonder, sex: :woman).nickname
# :wonder
Keyword argument
class Bob
def initialize(nickname: :phantom)
@nickname = nickname
end
def nickname
@nickname
end
end
p Bob.new.nickname
# :phantom
p Bob.new(nickname: :animal, sex: :man).nickname
# `initialize': unknown keyword: sex (ArgumentError)
Original by Github issue
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2019-11-17
Discussion