Menu
CoddyTech

Metodi degli array

Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 61 di 88.

Ruby offre diversi metodi integrati che semplificano il lavoro con gli array. Questi metodi ti aiutano a ordinare, invertire e trovare elementi senza dover scrivere codice complesso.

Il metodo sort dispone gli elementi in ordine crescente:

numbers = [3, 1, 4, 1, 5]
puts numbers.sort  # Output: 1, 1, 3, 4, 5

Per invertire l'ordine degli elementi, usa il metodo reverse:

letters = ["a", "b", "c"]
puts letters.reverse  # Mostra: c, b, a

Puoi combinare questi metodi per ordinare in ordine decrescente:

scores = [85, 92, 78, 95]
puts scores.sort.reverse  # Izpiše: 95, 92, 85, 78

I metodi min e max trovano rapidamente i valori più piccoli e più grandi:

prices = [29, 15, 42, 8]
puts prices.min  # Stampa: 8
puts prices.max  # Stampa: 42

Per calcolare il totale degli elementi numerici, usa sum:

quantities = [2, 5, 3]
puts quantities.sum  # Stampa: 10

Nota che sort e reverse restituiscono nuovi array senza modificare l'originale. Per modificare direttamente l'array originale, aggiungi ! al nome del metodo, come sort! o reverse!.

challenge icon

Sfida

Facile

Leggi una singola riga di input contenente interi separati da virgole (ad es., 5,2,8,1,9,3).

Dividi l’input in un array di interi, poi stampa quanto segue su righe separate:

  1. L’array ordinato in ordine crescente (ogni elemento su una riga)
  2. L’array ordinato in ordine decrescente (ogni elemento su una riga)
  3. Il valore minimo
  4. Il valore massimo
  5. La somma di tutti gli elementi

Stampa una riga vuota tra ogni sezione per maggiore chiarezza.

Ad esempio, se l’input è 5,2,8,1,9,3, l’output dovrebbe essere:

1
2
3
5
8
9

9
8
5
3
2
1

1
9
28

Se l’input è 10,30,20, l’output dovrebbe essere:

10
20
30

30
20
10

10
30
60

Se l’input è 7,3,5,1, l’output dovrebbe essere:

1
3
5
7

7
5
3
1

1
7
16

Provalo tu

# Leggi gli interi separati da virgole
input = gets.chomp

# Dividi l'input in corrispondenza di ogni virgola e converti ogni parte in un intero
numbers = input.split(",").map(&:to_i)

# TODO: Scrivi il tuo codice qui sotto
# 1. Ordina l'array in ordine crescente e stampa ogni elemento
# 2. Stampa una riga vuota
# 3. Ordina l'array in ordine decrescente e stampa ogni elemento
# 4. Stampa una riga vuota
# 5. Stampa il valore minimo
# 6. Stampa il valore massimo
# 7. Stampa la somma di tutti gli elementi
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Ruby online