Iteración sobre cadenas
Parte de la sección Lógica y flujo del Journey de Ruby de Coddy. Lección 3 de 56.
Una cadena de Ruby es una secuencia de caracteres, y puedes iterar sobre ella directamente con each_char:
"ruby".each_char do |c|
puts c
end
# r
# u
# b
# ySi también necesitas el índice, usa each_char.with_index:
"hi".each_char.with_index do |c, i|
puts "#{i}: #{c}"
end
# 0: h
# 1: iPara obtener un array de caracteres de una sola vez, llama a chars:
"ruby".chars # ["r", "u", "b", "y"]Desafío
FácilLee una sola línea de entrada. Cuenta cuántas vocales (a, e, i, o, u, sin distinguir entre mayúsculas y minúsculas) contiene, e imprime:
Vowels: <count>Para la entrada Hello Ruby, la salida es Vowels: 3: e, o, u. (y no se cuenta.)
Pruébalo tú mismo
input = gets.chomp
count = 0
# TODO: iterar sobre cada carácter y contar las vocales
puts "Vowels: #{count}"
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Lógica y flujo
1Cadenas en profundidad
Descripción general de los métodos de cadenasInterpolación de cadenasIteración sobre cadenasSeparar y unirRepaso: Tejedor de cadenas4Bloques, Procs y Lambdas
¿Qué es un bloque?do..end frente a llavesLa palabra clave yieldParámetros de bloqueProcs y LambdasRepaso: iterador personalizado7Hashes Parte 2
Hash.new con valores predeterminadosIteración de hashesHashes anidadosCombinación y transformaciónRepaso: contador de frecuencias10Proyecto - Registros de estudiantes
Descripción general del proyectoAgregar estudiante5Potencia Enumerable
Select y RejectEncadenamiento de MapReduce / Injectcount, all?, any?, none?group_by y partitionsort_by, min_by, max_byRepaso: canalización de datosPractica por tu cuenta: Compilador de Ruby online