Действительно простой вопрос.Преобразование массива в один объект, если массив является единственным объектом
Есть ли способ сделать следующее?
["a"] => "a"
[1] => 1
[1,"a"] => [1, "a"]
i.e Если массив является единственным объектом, верните объект, в противном случае верните массив. Без делать что-то уродливое, как
array.length == 1 ? array[0] : array
Насколько мне известно, - но почему вы хотите это сделать? Независимо от того, что вы передаете этим данным, следует реагировать либо на массив, либо на строку, выбирая одно значение, если оно само по себе означает, что ваш код дальше должен знать, как обращаться с массивами и строками, а не просто полагаться на n всегда имеющий массив. –
Возможный дубликат [Есть ли рубиновая идиома для возврата первого элемента массива, если существует только один?] (Http://stackoverflow.com/questions/20109800/is-there-a-ruby-idiom-for-returning- the-first-array-element-if-only-one-exists) – ndn
У этого есть запах кода. – sawa