Мой вариант использования включает в себя отправку двух действий из рекурсивной функции (если конструкция else), часть if, которая добавляет строку в массив (которая является состоянием моего приложения), а часть else добавляет еще одну строку и требует доступа длина массива и до вызова самой функции. Здесь я вижу, что длина массива остается неизменной после отправки первого действия, и, следовательно, вызов сам по себе не получает фактическое значение длины.