Итерация по строкам
Часть раздела Логика и управление потоком путешествия по 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"]Задание
ЛегкоПрочитайте одну строку ввода. Подсчитайте, сколько гласных (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}"
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Строки в деталях
Обзор методов строкИнтерполяция строкИтерация по строкамSplit и JoinИтоги — String Weaver4Блоки, Proc и лямбды
Что такое блок?do..end против фигурных скобокКлючевое слово yieldПараметры блокаProc и лямбдыИтоги: пользовательский итератор7Хеши. Часть 2
Hash.new со значениями по умолчаниюИтерация по хешамВложенные хешиСлияние и преобразованиеИтоги — счетчик частоты10Проект — Учёт студентов
Обзор проектаДобавить студента2Диапазоны
Что такое диапазон?Методы диапазоновДиапазоны в Case / WhenПовторение — практика по диапазонам5Мощь Enumerable
Select и RejectЦепочки MapReduce / Injectcount, all?, any?, none?group_by и partitionsort_by, min_by, max_byИтоги — Data Pipeline8Продвинутые условные конструкции
Case с классами и RegexМножественные значения в whenТернарный операторОднострочные if / unlessПовторение: Классификатор оценок