Metodi degli intervalli
Fa parte della sezione Logica e flusso del percorso Swift di Coddy. Lezione 9 di 56.
Gli intervalli sono vere e proprie Collection, quindi offrono gli stessi strumenti che usi sugli array.
contains, count, first e last funzionano tutti direttamente:
let r = 1...10
print(r.contains(5)) // true
print(r.count) // 10
print(r.first!, r.last!) // 1 10Anche la maggior parte dei metodi degli array che hai usato funziona. filter restituisce un array perché il risultato del filtraggio di un intervallo non è a sua volta un intervallo:
let evens = (1...10).filter { $0 % 2 == 0 }
print(evens) // [2, 4, 6, 8, 10]Lo stesso vale per reduce: gli intervalli ce l'hanno e ti servirà per calcolare rapidamente somme e prodotti.
Sfida
FacileLeggi due numeri interi (due righe): n e target. Considera l'intervallo chiuso 1...n come il tuo insieme di dati.
Stampa tre righe:
truequandotargetè nell'intervallo, altrimentifalse- Il prodotto di tutti i valori nell'intervallo (
n!: fattoriale). Usareduce. - I valori nell'intervallo che sono multipli di
3, uniti con,(oppure una riga vuota se nessuno soddisfa il criterio). Usafilter.
Per l'input 5 / 3, l'output è:
true
120
3Provalo tu
let n = Int(readLine()!)!
let target = Int(readLine()!)!
let r = 1...n
// TODO: contains(target), prodotto tramite reduce, multipli di 3 tramite filter
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Logica e flusso
1Le stringhe in dettaglio
Conteggio e indiciMaiuscole, minuscole e rimozione degli spaziRicerca nelle stringheSuddivisione e unioneSostituzione di sottostringheRiepilogo - Verifica del nome utente4Insiemi
Creare insiemiUnione e intersezioneDifferenza e differenza simmetricaSottoinsieme e sovrainsiemeRiepilogo - Filtro per tag7Progetto - Tracciatore di abitudini
Panoramica del progettoSegna come completato10Progetto - Motore di quiz
Panoramica del progettoPorre domande2Intervalli e passi
Intervalli chiusi e semiapertiPassoMetodi degli intervalliIntervalli in switchRiepilogo - Griglia del calendario5Funzioni di ordine superiore Parte 1
MapFilterReduceConcatenare map, filter e reduceRiepilogo - Statistiche sulle paroleEsercitati da solo: Playground Swift