#ruby
#ruby
Вопрос:
Как я могу вернуть анонимный объект из метода в ruby.?
В следующем коде я возвращаю хэш.
def process
source = helper
# I am able to get the value as an hash
puts source[:url]
puts source[:params]
# But I wonder if there is a way to get it as an object, so that I can use the dot notation
# puts source.url
# puts source.params
end
def helper
url = ''
params = ''
return {url: url, params: params}
end
Есть мысли.?
Комментарии:
1. Ваш вопрос неясен. У объектов в Ruby нет имен, они всегда анонимны. В вашем коде вы возвращаете анонимный объект, а именно
Hash
.
Ответ №1:
require 'ostruct'
def helper
OpenStruct.new(url: '', params: '')
end
Комментарии:
1. Спасибо.! Это то, что я искал.
Ответ №2:
Попробуйте это:
def helper
Class.new do
def url
''
end
def params
''
end
end.new
end