Это может быть исправлением для вашего кода, поскольку у вас есть p 2
для печати 2 вместо счетчика:
def virus(array)
index = 0
count = 0
array.length.times do
if array[index]%5 == 0
count +=1
end
index = index + 1
end
return count
end
Вам необходимо добавить переменную count
, которая будет увеличена, если элементделится на 5 (if array[index]%5 == 0
) или, возможно, вам нужно проверить, равен ли элемент 55 ..
Нет необходимости разбивать, или вам не хватает некоторых элементов для подсчета.Также break
возвращает nil
, поэтому он распечатывается.
Наконец, вам нужно вернуть счетчик.
Создание пользовательского цикла - полезный способ обучения, но ятакже предлагаем вам взглянуть на https://ruby -doc.org / core-2.5.0 / Enumerable.html # method-i-count , просто чтобы использовать методы сборки Ruby:
array = [11, 22, 33, 44, 55, 66, 77, 66, 55, 44]
array.count { |e| e % 5 == 0 } #=> 2