Я хотел бы инициализировать класс с отдельными членами хэша набора значений по умолчанию, я попытался следующим:вводящий хэш со значениями по умолчанию
class SomeClass
attr_accessor :hello, :holla
def initialize (hash = { hello: 'world', holla: 'mundo'})
@hello = hash[:hello]
@else = hash[:holla]
end
end
, который работает по желанию, если не следует вводить какое-либо аргумент
p = SomClass.new
puts "should be 'world'"
puts p.hello
puts "should be 'mundo'"
puts p.holla
$ruby hello_world.rb
should be 'world'
universe
should be 'mundo'
mundo
, но если один из дополняющая хеша установлен другой остается пустым, например:
p = SomeClass.new({ hello: 'universe'})
puts "should be 'universe'"
puts p.hello
puts "should be 'mundo'"
puts p.holla
$ruby hello_world.rb
should be 'universe'
universe
should be 'mundo'
Как ввести хеш в качестве аргумента для инициализации в усадьбе, которая устанавливает значения по умолчанию для отдельных членов хэша, только хеш-сам?