Как рекурсивно вызывать методы вроде: q[0].from(q[1].from(q[2].from(q[3])))
в Ruby, когда размер q неизвестен?Как рекурсивно вызывать такие методы, как: q [0] .from (q [1]. From (q [2]. From (q [3]))), когда размер q неизвестен?
0
A
ответ
0
Вы можете использовать inject
для этого:
q.reverse_each.inject do |acc, value|
value.from(acc)
end
Реверс требуется, чтобы получить вещи в правильном порядке. При первом вызове блока acc
является последним элементом от q
, q[3]
в вашем примере и значением q[2]
. На следующей итерации, значение q[1]
и acc
является результатом от предыдущего блока (q[2].from(q[3])
), поэтому он вычисляет
q[1].from(q[2].from(q[3]))
И так далее
Смежные вопросы
- 1. kdb Q date from string
- 2. Непоследовательность Q Q-поведения
- 3. Q: Pandas dataframe from for loop
- 4. Джанго Q & Q против filter.filter
- 5. Как запустить цикл q (INCREMENT Q)?
- 6. Why (= (run 1 [q] (membero 'cat q)) [' (cat. _.0)]) false?
- 7. Узел Q - массив дескрипторов с Q
- 8. Sql 2 Таблицы Q?
- 9. Recv-Q + Send-Q> написать байты
- 10. Как выйти из программы, когда я типа «Q» или «Q»
- 11. Получение Recv-Q/Send-Q в Windows?
- 12. R: Lattice Q-Q Участок линии регрессии
- 13. Как данные q кеша?
- 14. Tesseract идентифицирует 0 как Q
- 15. Как перехватить Cmd + Q
- 16. Когда ORM Django использует Q?
- 17. Параметры объекта Q
- 18. pyschool Тема 4 Q 1
- 19. как использовать q обещания?
- 20. $ q defer in angular
- 21. Project Euler Q # 3 Python
- 22. Q Переполнения коэффициентов обучения
- 23. Q: Python time
- 24. Q обещаю .then() undefined
- 25. Как начать использовать $ q?
- 26. "SELECT 1 FROM (SELECT 1 FROM table) q" не работает на локальном компьютере
- 27. .htaccess перенаправить index.php? Q = * в index.php? Q = * на другой домен
- 28. Как изменить макрокоманду записи VIM-записи с 'q' на 'Q'?
- 29. Node.JS - Q Module - Promises
- 30. MySQL, соединяющий таблицы Q