Iterare sulle stringhe
Fa parte della sezione Logica e flusso del percorso Ruby di Coddy. Lezione 3 di 56.
Una stringa Ruby è una sequenza di caratteri e puoi iterarci direttamente con each_char:
"ruby".each_char do |c|
puts c
end
# r
# u
# b
# ySe hai bisogno anche dell'indice, usa each_char.with_index:
"hi".each_char.with_index do |c, i|
puts "#{i}: #{c}"
end
# 0: h
# 1: iPer ottenere un array di caratteri in un colpo solo, chiama chars:
"ruby".chars # ["r", "u", "b", "y"]Sfida
FacileLeggi una singola riga di input. Conta quante vocali (a, e, i, o, u, senza distinzione tra maiuscole e minuscole) contiene e stampa:
Vowels: <count>Per l'input Hello Ruby, l'output è Vowels: 3: e, o, u. (y non viene conteggiata.)
Provalo tu
input = gets.chomp
count = 0
# TODO: itera su ogni carattere e conta le vocali
puts "Vowels: #{count}"
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
Panoramica dei metodi delle stringheInterpolazione di stringheIterare sulle stringheDividere e unireRiepilogo - Tessitore di stringhe4Blocchi, Proc e Lambda
Che cos’è un Block?do..end vs parentesi graffeLa keyword yieldParametri del BlockProc e LambdaRiepilogo - Iteratore personalizzato7Hash in Ruby - Parte 2
Hash.new con valori predefinitiIterare sugli hashHash annidatiUnire e trasformareRipasso - Contatore di frequenza10Progetto - Registri degli studenti
Panoramica del progettoAggiungere uno studente2Intervalli
Che cos'è un intervallo?Metodi degli intervalliIntervalli in Case / WhenRiepilogo - Esercitarsi con gli intervalli5La potenza di Enumerable
Select e RejectConcatenare MapReduce / Injectcount, all?, any?, none?group_by e partitionsort_by, min_by, max_byRiepilogo - Pipeline di datiEsercitati da solo: Compilatore Ruby online