Ruby: Object.to_a substituição
Eu preciso converter um argumento passado (único objeto ou coleção) em uma matriz. Não sei qual é o argumento. Se já é uma matriz, quero deixá-la, caso contrário, crie uma matriz de um elemento a partir dela. Eu estou olhando parapermitir ambosmethod(:objs => obj)
emethod(:objs => [obj1, obj2])
Esta parece ser a melhor maneira (a matriz # to_a retorna a si mesma):
arg = arg.to_a
Mas os documentos ruby dizemObject#to_a
em breve será obsoleto. Existe uma substituição conveniente?
Algo mais sucinto do que isso?
arg = arg.respond_to?(:to_a) ? arg.to_a : [arg]