Эй приятель!
Это первая часть серии 30 задач по программированию на Ruby за 30 дней для:
- люди, которые только начинают
- люди, которые просто хотят немного размять свой мозг
- люди, которые просто хотят повеселиться, готовясь к собеседованию по программированию
А как насчет среды Ruby?
- Никаких оправданий, тебе это не нужно
- Вот ссылка на онлайн-компилятор Ruby, с которым я собираюсь поделиться всем кодом, и вы также можете поиграть с ним.
- Все дело в навыках и концепциях решения проблем, а не в языках программирования :)
Самая важная цель: получить удовольствие 🕺💃, решая простые, но интересные задачи кодирования.
Я проблема, приятно познакомиться
По заданному массиву чисел мы хотим подсчитать, сколько элементов больше 5
Давай, давай что-нибудь посложнее и поинтереснее 😒
Я знаю, я знаю, о чем вы думаете, но это только начало нашего совместного пути 😬
Я разобью это на четыре шага:
- Логика решения проблемы
- Решение с помощью классического цикла for
- Организация нашего кода с помощью методов
- Бонус: блоки встреч в Ruby
Вы готовы? Приступаем к делу :)
#1 Логика для решения проблемы
Да, логика довольно проста. Опять же, лишь бы размять ноги и руки на бегу
- Учитывая массив
- Пройди все числа
- Для каждого числа вы сравниваете, больше ли число 5
- Вы увеличиваете переменную (назовем ее count).
- Вы печатаете переменную count после просмотра массива
# 2 Классическое выражение для цикла
Опять же, не беспокойтесь о синтаксисе Ruby. Сосредоточьтесь на понятиях и логике.
Для приведенного ниже кода мы создали классическое выражение цикла for и для каждого элемента в заданном массиве проверяем, больше ли число 5, просто как предыдущая логика
# 3 Организация с помощью метода
Здесь нет ничего особенного. Просто организация кухни с методом.
Обратите внимание, что в качестве аргумента мы принимаем число, которое будет использоваться для сравнения элементов в массиве.
Довольно просто, правда?
Как насчет того, чтобы сделать это более рубиновым способом? 😏
4. Время хипстеров: блоки в Ruby
Бонусное хипстерское время.
В Ruby (как и во многих других языках) есть свой собственный способ выполнения нескольких действий, который называется Ruby Way или Rubyish Way.
Массив в Ruby предоставляет метод count(), который получает блок, который может быть выражением для оценки.
Заметь:
- item: это всего лишь один элемент из нашего массива. Этот блок волшебным образом автоматически выполняет выражение цикла for.
- номер элемента ›: выражение, которое должно вычисляться для каждого элемента.
Полный код:
Но ждать. Где находится переменная count и как мы ее возвращаем? Блестящий вопрос.
Ruby автоматически увеличивает внутреннюю переменную каждый раз, когда выражение номер › элемента оценивается как истина, и сохраняет результат в это
внутренняя переменная.
Когда выполнение завершено, Ruby автоматически возвращает нам результат.
Не верите мне? Проверьте код ниже:
Теперь я явно использую ключевое слово return, которое будет вести себя точно так же, возвращая окончательный результат после того, как выражение будет вычислено для каждого элемента в массиве.
Это более декларативный подход, чем императивный, но это обсуждение для следующей статьи.
Молодец, Руби! 💪
Вот и все. Спасибо за ваш визит, очень ценю ваше время и до скорой встречи :)
Оставайтесь на связи и не забудьте подписаться на мою еженедельную рассылку
Первоначально опубликовано на https://www.alexgama.io.