Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

276
Vistas
¿Cómo hacer que las columnas de orden de la tabla csv de Ruby se basen en los encabezados de cada fila?

Usando la clase CSV::Table de Ruby por primera vez, me encontré con este comportamiento, que me parece extraño:

 require 'csv' r0 = CSV::Row.new(['a','b','c'], [], true) r1 = CSV::Row.new(['a','b','c'], [10,11,12]) r2 = CSV::Row.new(['c','b','a'], [22,21,20]) t = CSV::Table.new([r0,r1,r2]) t.to_csv # Expected Output: # => "a,b,c\n10,11,12\n20,21,22\n" # Actual Output: # => "a,b,c\n10,11,12\n22,21,20\n"

Supuse que dado que cada fila tiene encabezados definidos, la tabla respetaría esos encabezados, pero parece ignorarlos. Mirando los documentos, no veo una manera de ordenar todas las filas de manera consistente. ¿Hay alguna opción o método que no veo?

Es bastante fácil ordenar las cosas de manera consistente antes de crear las filas, claro, pero también es bastante fácil prescindir de la clase de tabla csv por completo: esperaba un poco más de pulido de una clase stdlib.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Los documentos de la Table dicen "Se supone que todas las filas tienen los mismos encabezados". Podemos ver que, si no se proporciona la palabra clave headers: entonces los encabezados se toman de la primera fila .

 # csv/table.rb class CSV class Table # Constructs a new CSV::Table from +array_of_rows+, which are expected # to be CSV::Row objects. All rows are assumed to have the same headers. def initialize(array_of_rows, headers: nil) # .. unless @headers # .. @headers = @table.first.headers
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda