Перебор строк
Часть раздела Логика и управление потоком путешествия по 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 не считается.)
Попробуйте сами
input = gets.chomp
count = 0
# TODO: перебрать каждый символ и посчитать гласные
puts "Vowels: #{count}"
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Строки: подробный разбор
Обзор методов строкИнтерполяция строкПеребор строкРазделение и объединениеПовторение — String Weaver4Блоки, Proc и Lambda
Что такое блок?do..end и фигурные скобкиКлючевое слово yieldПараметры блокаProc и LambdaПовторение — пользовательский итератор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Повторение — конвейер данных3Двумерные массивы
Основы двумерных массивовДоступ к элементам двумерного массиваПеребор двумерных массивовРаспространённые шаблоны для двумерных массивовПовторение — операции с матрицами6Проект — Менеджер библиотеки
Обзор проектаДобавление книгиПотренируйтесь самостоятельно: Онлайн-компилятор Ruby