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

420
Vistas
El valor de retorno mínimo de la matriz de Ruby, no la matriz

En Ruby (3.0.1) la función min en una matriz

Devuelve uno de los siguientes:

  • El elemento de valor mínimo de uno mismo.
  • Una nueva matriz de elementos de valor mínimo seleccionados de uno mismo.

(desde aquí ).

Entonces, dado

 l = [{n: 1, m: 6}, {n: 1, m: 5}, {n: 2, m: 4}, {n: 3, m: 3}, {n: 4, m: 3}]

Yo esperaría

 l.min { |a, b| a[:n] <=> b[:n] } => [{:n=>1, :m=>6}, {:n=>1, :m=>5}]

pero en cambio obtengo

 l.min { |a, b| a[:n] <=> b[:n] } => {:n=>1, :m=>6}

¿Por qué? ¿Por qué obtengo uno de la lista de elementos mínimos en lugar de la lista completa de elementos mínimos?

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

0

Si lees el resto de las especificaciones:

Sin argumento y (un bloque/sin bloque), devuelve el elemento en sí mismo que tiene el valor mínimo por (el bloque/método <=>):

El único caso en que devuelve más de un elemento es si especifica la cantidad de elementos que desea devolver:

Con un argumento n y (un bloque/sin bloque), devuelve un nuevo Array con un máximo de n elementos, en orden ascendente por (el bloque/método <=>):

 [0, 1, 2, 3].min(3) # => [0, 1, 2]
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