Эй приятель!

Это первая часть серии 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.