2010-11-30 8 views
15

Necesito convertir fixnums en cadenas. Mi solución es:Usando Ruby, ¿cómo convierto todos los valores de matriz a un tipo dado?

arr.map {|a| a.to_s} 

¿Hay una manera mejor?

+2

Su solución es tan clara (bien) como se pone, en mi humilde opinión. – maerics

+0

Esta solución parece superior a la respuesta, para mí (aunque si trabajara exclusivamente en Ruby, quizás me sentiría diferente). Se parece más a otros lenguajes que proporcionan funcionalidades similares, como la declaración de selección de LINQ en C#, o la mayoría de las estructuras de bucle foreach. –

Respuesta

30
arr.map(&:to_s) 

Esto utiliza una nueva característica spiffy en Ruby> = 1.8.7, la "symbol to proc" shortcut, y es equivalente al código en su pregunta.

+0

No había visto esto antes. ¿Cómo se llama el operador? ¿Tiene un enlace a la documentación de la función? – dslh

+0

@hambend, excelentes preguntas. Respuesta enmendada –

+2

BTW: aunque esto solo se agregó a la biblioteca Ruby core en 1.9 y se transfirió a 1.8.7, ha estado disponible en ActiveSupport, Facets y muchas otras bibliotecas de extensiones de Ruby * antes *. –

Cuestiones relacionadas