Menu
Coddy logo textTech

Iterar sobre Strings

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
# y

Si 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: i

Para obtener un array de caracteres de una sola vez, llama a chars:

"ruby".chars  # ["r", "u", "b", "y"]
challenge icon

Desafío

Fácil

Lee 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.)

Hoja de referencia

Itera sobre cada carácter en una cadena con each_char:

"ruby".each_char do |c|
  puts c
end

Usa each_char.with_index para obtener también el índice:

"hi".each_char.with_index do |c, i|
  puts "#{i}: #{c}"
end

Convierte una cadena en un array de caracteres con chars:

"ruby".chars  # ["r", "u", "b", "y"]

Pruébalo tú mismo

input = gets.chomp
count = 0

# TODO: iterar sobre cada carácter y contar las vocales

puts "Vowels: #{count}"
quiz iconPonte a prueba

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