При попытке ответить на вопрос другого члена, я случайно сталкивался с этим странным поведением:#puts создал новый хеш?
puts :some_object => 'another_object'
Удивительно, но выход заключается в следующем:
{:some_object=>"another_object"}
Что это новая чертовщина? Похоже, что я создал хеш с использованием #puts
и без использования обычного синтаксиса фигурных скобок.
Я не могу проверить эту теорию, хотя, потому что это просто генерирует ошибку:
puts (:some_object => 'another_object').class
# => syntax error, unexpected =>, expecting ')'
Что здесь происходит?
Edit: Хорошо, благодаря объяснению bundacia, это теперь легко для меня, чтобы проверить и подтвердить, что это хэш (в то время как я не был уверен, как сделать это раньше):
def test(x)
puts x.class
end
test(:some_object => 'another_object')
# => Hash
Многие благодаря!
Обычный синтаксис Ruby, который имеет некоторые методы удобства вокруг хэшей. –