Métodos de arrays
Parte de la sección Fundamentos del Journey de Ruby de Coddy. Lección 61 de 88.
Ruby proporciona varios métodos integrados que facilitan el trabajo con arrays. Estos métodos te ayudan a ordenar, invertir y encontrar elementos sin tener que escribir código complejo.
El método sort ordena los elementos en orden ascendente:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # Salida: 1, 1, 3, 4, 5Para invertir el orden de los elementos, usa el método reverse:
letters = ["a", "b", "c"]
puts letters.reverse # Salida: c, b, aPuedes combinar estos métodos para ordenar en orden descendente:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # Muestra: 95, 92, 85, 78Los métodos min y max encuentran rápidamente los valores más pequeño y más grande:
prices = [29, 15, 42, 8]
puts prices.min # Imprime: 8
puts prices.max # Imprime: 42Para calcular el total de los elementos numéricos, usa sum:
quantities = [2, 5, 3]
puts quantities.sum # Imprime: 10Ten en cuenta que sort y reverse devuelven nuevas matrices sin cambiar la original. Para modificar directamente la matriz original, añade ! al nombre del método, como sort! o reverse!.
Desafío
FácilLee una sola línea de entrada que contenga números enteros separados por comas (por ejemplo, 5,2,8,1,9,3).
Divide la entrada en un arreglo de números enteros y luego imprime lo siguiente en líneas separadas:
- El arreglo ordenado de forma ascendente (cada elemento en su propia línea)
- El arreglo ordenado de forma descendente (cada elemento en su propia línea)
- El valor mínimo
- El valor máximo
- La suma de todos los elementos
Imprime una línea en blanco entre cada sección para que sea más claro.
Por ejemplo, si la entrada es 5,2,8,1,9,3, la salida debería ser:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28Si la entrada es 10,30,20, la salida debería ser:
10
20
30
30
20
10
10
30
60Si la entrada es 7,3,5,1, la salida debería ser:
1
3
5
7
7
5
3
1
1
7
16Pruébalo tú mismo
# Lee los números enteros separados por comas
input = gets.chomp
# Divide la entrada en cada coma y convierte cada parte en un número entero
numbers = input.split(",").map(&:to_i)
# TODO: Escribe tu código a continuación
# 1. Ordena el arreglo de menor a mayor e imprime cada elemento
# 2. Imprime una línea en blanco
# 3. Ordena el arreglo de mayor a menor e imprime cada elemento
# 4. Imprime una línea en blanco
# 5. Imprime el valor mínimo
# 6. Imprime el valor máximo
# 7. Imprime la suma de todos los elementosEsta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores Parte 2
Operadores lógicos Parte 1Operadores lógicos Parte 2Repaso - Lógica simpleOperadores lógicos Parte 3Operadores lógicos Parte 47Calculadora para dividir la cuenta
Mensaje de bienvenidaObtener la entrada del usuario10FizzBuzz con un giro
Descripción general del juegoEl método FizzBuzz2Variables y tipos de datos
Números y variablesTipo de dato StringTipo de dato BooleanTipo de dato SymbolComprobación de tipos de datosConvenciones de nomenclaturaResumen: Creación de variables5Toma de decisiones
Sentencia IfIf - ElseRepaso - Calculadora simpleIf - Else anidadosSentencia Unless8Bucles
Bucle For con rangosBucle WhileBreakNextRepaso - FactorialBucle TimesBucle UntilBucles anidadosRepaso - Entrada dinámica3Operadores Parte 1
Operadores aritméticosOperador móduloAtajos aritméticosResumen - Matemáticas simplesOperadores de comparación6Entrada y Salida Básica
Salida con putsSalida con print y pSalida con variablesEntrada con getsMétodo chompConversión de tiposResumen - Calculadora de edadResumen - Verdadero o falsoPractica por tu cuenta: Compilador de Ruby online