Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

189
Views
Ruby de matriz de dos dimensiones a una dimensión

Tengo la siguiente matriz:

 arr = [ "Assignment:Chapter 1 Code Exercises (Real)", [100, 100, 100, 100, 100, 100, 100, 100], "Assignment:Chapter 2 Code Exercises (Real)", [93, 75, 100, 100, 100, 55, 75, 100], "Assignment:Chapter 3 Code Exercises (Real)", [100, 80, 100, 100, 90, 85, 65, 100], "Assignment:Chapter 4 Code Exercises (Real)", [100, 90, 100, 100, 95, 100, 75, 70], "Assignment:Chapter 5 Code Exercises (Real)", [50, 100, 100, 100, 60, 70, 90, 100], "Assignment:Chapter 6 Code Exercises (Real)", [0, 85, 100, 100, 60, 85, 70, 85, 100], "Assignment:Chapter 14 Code Exercises (Real)", [75, 90, 100, 100, 0, 100, 0, 100], "Assignment:Chapter 15 Code Exercises (Real)", [97, 100, 100, 100, 0, 100, 0, 100] ]

Me gustaría convertir esto a:

 [ ["Assignment:Chapter 1 Code Exercises (Real)", 100, 100, 100, 100, 100, 100, 100, 100], ["Assignment:Chapter 2 Code Exercises (Real)", 93, 75, 100, 100, 100, 55, 75, 100], ["Assignment:Chapter 3 Code Exercises (Real)", 100, 80, 100, 100, 90, 85, 65, 100], ["Assignment:Chapter 4 Code Exercises (Real)", 100, 90, 100, 100, 95, 100, 75, 70], ["Assignment:Chapter 5 Code Exercises (Real)", 50, 100, 100, 100, 60, 70, 90, 100], ["Assignment:Chapter 6 Code Exercises (Real)", 0, 85, 100, 100, 60, 85, 70, 85], 100], ["Assignment:Chapter 14 Code Exercises (Real)", 75, 90, 100, 100, 0, 100, 0, 100], ["Assignment:Chapter 15 Code Exercises (Real)", 97, 100, 100, 100, 0, 100, 0, 100] ]

flatten demasiado "plano". También probé flatten(1).

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

array.each_slice(2).map { |(x,y)| [x] + y } #=> [["Assignment:Chapter 1 Code Exercises (Real)", 100, 100, 100, 100, 100, 100, 100, 100], # ["Assignment:Chapter 2 Code Exercises (Real)", 93, 75, 100, 100, 100, 55, 75, 100], # ["Assignment:Chapter 3 Code Exercises (Real)", 100, 80, 100, 100, 90, 85, 65, 100], # ["Assignment:Chapter 4 Code Exercises (Real)", 100, 90, 100, 100, 95, 100, 75, 70], # ["Assignment:Chapter 5 Code Exercises (Real)", 50, 100, 100, 100, 60, 70, 90, 100], # ["Assignment:Chapter 6 Code Exercises (Real)", 0, 85, 100, 100, 60, 85, 70, 85, 100], # ["Assignment:Chapter 14 Code Exercises (Real)", 75, 90, 100, 100, 0, 100, 0, 100], # ["Assignment:Chapter 15 Code Exercises (Real)", 97, 100, 100, 100, 0, 100, 0, 100]]
over 4 years ago · Santiago Trujillo Report

0

> Hash[*a].map(&:flatten) => [["Assignment:Chapter 1 Code Exercises (Real)", 100, 100, 100, 100, 100, 100, 100, 100], ["Assignment:Chapter 2 Code Exercises (Real)", 93, 75, 100, 100, 100, 55, 75, 100], ["Assignment:Chapter 3 Code Exercises (Real)", 100, 80, 100, 100, 90, 85, 65, 100], ["Assignment:Chapter 4 Code Exercises (Real)", 100, 90, 100, 100, 95, 100, 75, 70], ["Assignment:Chapter 5 Code Exercises (Real)", 50, 100, 100, 100, 60, 70, 90, 100], ["Assignment:Chapter 6 Code Exercises (Real)", 0, 85, 100, 100, 60, 85, 70, 85, 100], ["Assignment:Chapter 14 Code Exercises (Real)", 75, 90, 100, 100, 0, 100, 0, 100], ["Assignment:Chapter 15 Code Exercises (Real)", 97, 100, 100, 100, 0, 100, 0, 100]]

donde a es la primera matriz anterior.

Alternativamente, siguiendo la recomendación de @CarySwoveland:

 a.each_slice(2).map(&:flatten)

es más eficiente con el tiempo y la memoria, y no requiere que las cadenas sean únicas.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!