Operatori degli array
Fa parte della sezione Fondamenti del percorso Ruby di Coddy. Lezione 71 di 88.
Ruby offre operatori speciali che ti permettono di combinare, confrontare e manipolare gli array in modi potenti. Questi operatori rendono facile lavorare con più array contemporaneamente.
L'operatore + concatena due array in uno nuovo:
a = [1, 2, 3]
b = [4, 5, 6]
combined = a + b
puts combined # Stampa: 1, 2, 3, 4, 5, 6L'operatore - rimuove dal primo array gli elementi che compaiono nel secondo:
all_numbers = [1, 2, 3, 4, 5]
to_remove = [2, 4]
result = all_numbers - to_remove
puts result # Stampa: 1, 3, 5L'operatore & restituisce gli elementi comuni a entrambi gli array (intersezione):
a = [1, 2, 3, 4]
b = [3, 4, 5, 6]
common = a & b
puts common # Stampa: 3, 4L'operatore | combina gli array e rimuove i duplicati (unione):
a = [1, 2, 3]
b = [3, 4, 5]
union = a | b
puts union # Restituisce: 1, 2, 3, 4, 5Tutti questi operatori creano nuovi array e lasciano invariati gli array originali.
Sfida
FacileLeggi due righe di input, ciascuna contenente interi separati da virgole:
- Il primo array (ad es.,
1,2,3,4,5) - Il secondo array (ad es.,
3,4,5,6,7)
Esegui le seguenti operazioni e stampa i risultati, ciascuno su una riga separata:
- Stampa ogni elemento della concatenazione di entrambi gli array (usando
+) - Stampa
---come separatore - Stampa ogni elemento della differenza (primo array meno il secondo, usando
-) - Stampa
---come separatore - Stampa ogni elemento dell'intersezione (elementi comuni, usando
&) - Stampa
---come separatore - Stampa ogni elemento dell'unione (combinati senza duplicati, usando
|)
Ad esempio, se gli input sono 1,2,3,4,5 e 3,4,5,6,7, l'output dovrebbe essere:
1
2
3
4
5
3
4
5
6
7
---
1
2
---
3
4
5
---
1
2
3
4
5
6
7Se gli input sono 10,20,30 e 30,40,50, l'output dovrebbe essere:
10
20
30
30
40
50
---
10
20
---
30
---
10
20
30
40
50Se gli input sono 5,10,15 e 1,2,3, l'output dovrebbe essere:
5
10
15
1
2
3
---
5
10
15
---
---
5
10
15
1
2
3Provalo tu
# Leggi gli array di input
input1 = gets.chomp.split(',').map(&:to_i)
input2 = gets.chomp.split(',').map(&:to_i)
# TODO: Scrivi il tuo codice qui sotto
# Esegui le seguenti operazioni:
# 1. Concatenazione usando +
# 2. Differenza usando -
# 3. Intersezione usando &
# 4. Unione usando |
# Stampa ogni risultato usando "---" come separatore tra le operazioniQuesta lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire input dall'utente10FizzBuzz con un colpo di scena
Panoramica del giocoIl metodo FizzBuzz13Array avanzati
Slicing degli array con intervalliSlicing degli array con indiciOperatori degli arrayMetodo Include?2Variabili e tipi di dato
Numeri e variabiliTipo di dato stringaTipo di dato booleanoTipo di dato SymbolVerifica dei tipi di datoConvenzioni di denominazioneRiepilogo - Creazione di variabili5Strutture decisionali
Istruzione ifIf-ElseRipasso - Calcolatrice sempliceIf-Else annidatoIstruzione unless8Cicli
Ciclo for con intervalliCiclo whilebreaknextRiepilogo - FattorialeCiclo timesCiclo untilCicli annidatiRiepilogo - Input dinamico3Operatori, parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso: matematica sempliceOperatori di confronto6Input/Output di base
Output con putsOutput con print e pOutput con variabiliInput con getsMetodo chompConversione di tipoRipasso - Calcolatore dell'etàRipasso - Vero o falsoEsercitati da solo: Compilatore Ruby online