Полагаю, мы также можем написать это просто, как показано ниже
a = [1, 2, 3, 4, 5, 6]
def average(arr=[])
sum = 0.0
i=0
while(i < arr.length) do
sum += arr[i].to_f
i += 1
end
return ((i==0) ? 0 : (sum / i))
end
Мы можем выполнить цикл и вычислить сумму таким образом.Затем для среднего мы взяли значение i, которое будет сохранено после цикла, и сделаем условный оператор для возврата результата.
Это простое решение, я не проверял его, хотя может иметь ошибки.Вы можете попробовать на своей стороне.Надеюсь, что это помогает !!