Menu
Coddy logo textTech

Iterando sobre Strings

Parte da seção Lógica e Fluxo do Journey de Ruby da Coddy — lição 3 de 56.

Uma string Ruby é uma sequência de caracteres, e você pode iterar sobre ela diretamente com each_char:

"ruby".each_char do |c|
  puts c
end
# r
# u
# b
# y

Se você também precisar do índice, use each_char.with_index:

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

Para obter um array de caracteres de uma só vez, chame chars:

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

Desafio

Fácil

Leia uma única linha de entrada. Conte quantas vogais (a, e, i, o, u, insensível a maiúsculas e minúsculas) ela contém e imprima:

Vowels: <count>

Para a entrada Hello Ruby, a saída é Vowels: 3: e, o, u. (y não é contado.)

Folha de consulta

Itere sobre cada caractere em uma string com each_char:

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

Use each_char.with_index para também obter o índice:

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

Converta uma string em um array de caracteres com chars:

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

Experimente você mesmo

input = gets.chomp
count = 0

# TODO: iterar sobre cada caractere e contar as vogais

puts "Vowels: #{count}"
quiz iconTeste seus conhecimentos

Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.

Todas as lições de Lógica e Fluxo