Освоение массивов Ruby: подсчет «истины» и не только

Массивы Ruby — это мощная структура данных, позволяющая хранить коллекции объектов и манипулировать ими. В этой статье мы углубимся в одну конкретную задачу: подсчет вхождений логического значения «истина» в массив. Но мы не остановимся на достигнутом! Мы рассмотрим различные методы достижения этой цели, а также дополнительные советы и рекомендации по работе с массивами в Ruby. Так что берите в руки редактор кода и будьте готовы стать гуру массивов Ruby!

Метод 1: использование метода count
Самый простой и понятный способ подсчитать «истинные» значения в массиве Ruby — использовать метод count. Вот пример:

array = [true, false, true, true, false]
count = array.count(true)
puts count

Выход:

3

Метод 2: использование методов selectи size.
Другой подход — объединить методы selectи sizeметоды. Метод selectпозволяет фильтровать массив и извлекать только те элементы, которые удовлетворяют заданному условию. Затем вы можете использовать метод size, чтобы получить количество выбранных элементов. Вот пример:

array = [true, false, true, true, false]
count = array.select { |element| element == true }.size
puts count

Выход:

3

Метод 3. Использование метода reduce.
Метод reduce, также известный как inject, можно использовать для выполнения вычислений на массив. Используя этот метод, мы можем подсчитать «истинные» значения в массиве. Вот пример:

array = [true, false, true, true, false]
count = array.reduce(0) { |sum, element| element == true ? sum + 1 : sum }
puts count

Выход:

3

Метод 4: использование метода countс блоком
Помимо подсчета определенного значения, метод countтакже может принимать блок кода. Этот блок должен возвращать логическое значение, и метод будет подсчитывать элементы, для которых блок оценивается как true. Вот пример:

array = [true, false, true, true, false]
count = array.count { |element| element == true }
puts count

Выход:

3

Метод 5: использование метода tally(Ruby 2.7+)
Если вы используете Ruby 2.7 или более позднюю версию, вы можете воспользоваться преимуществами метода tally, который обеспечивает краткий способ подсчета вхождений элементов в массив. Вот пример:

array = [true, false, true, true, false]
count = array.tally[true]
puts count

Выход:

3

В этой статье мы рассмотрели несколько методов подсчета появления значения true в массиве Ruby. Мы научились использовать метод count, комбинацию selectи size, метод reduceи даже метод новый метод tally. Используя эти методы, вы сможете легко манипулировать массивами и анализировать их. Так что смело применяйте эти методы в своих Ruby-проектах и ​​станьте мастером манипуляций с массивами!