Menu
Coddy logo textTech

Итерация по строкам

Часть раздела Логика и управление потоком путешествия по Ruby на Coddy — урок 3 из 56.

Строка в Ruby — это последовательность символов, и вы можете перебирать её напрямую с помощью each_char:

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

Если вам также нужен индекс, используйте each_char.with_index:

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

Чтобы сразу получить массив символов, вызовите chars:

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

Задание

Легко

Прочитайте одну строку ввода. Подсчитайте, сколько гласных (a, e, i, o, u, без учета регистра) она содержит, и выведите:

Vowels: <count>

Для ввода Hello Ruby результатом будет Vowels: 3: e, o, u. (y не считается.)

Шпаргалка

Перебирайте каждый символ в строке с помощью each_char:

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

Используйте each_char.with_index, чтобы также получить индекс:

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

Преобразуйте строку в массив символов с помощью chars:

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

Попробуйте сами

input = gets.chomp
count = 0

# TODO: перебрать каждый символ и посчитать гласные

puts "Vowels: #{count}"
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком