Я хотел бы инициализировать класс с отдельными членами хэша, установленными в значения по умолчанию, я попытался сделать следующее:
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'
Как мне ввести хэш в качестве аргумента для инициализации в усадьбе, которая устанавливаетзначения по умолчанию для отдельных членов хэша, просто хэш сам?