|
117 | 117 | - синтаксическая конструкция, позволяющая выполнить разные действия или
|
118 | 118 | возвращающая разные значения (тернарный оператор) в зависимости от логического
|
119 | 119 | выражения (возвращающего true или false)
|
| 120 | +- [Рекурсия / Recursion](https://github.com/HowProgrammingWorks/Recursion) - |
| 121 | +задание алгоритма вычисления функции через вызов ее самой (прямой или непрямой) |
| 122 | +или определение функции, через нее саму. |
| 123 | + - Косвенная (непрямая) рекурсия - когда функция определена или вызывает себя |
| 124 | + не напрямую, а через другую или цепочку функций; |
| 125 | + - Хвостовая - частный случай, когда рекурсивный вызов является последней |
| 126 | + операцией перед возвратом значения, что всегда может быть преобразовано |
| 127 | + в цикл, даже автоматическим способом. Не хвостовая тоже может быть |
| 128 | + преобразована в цикл и оптимизирована, но более сложным способом, обычно |
| 129 | + вручную. |
120 | 130 | - [Строка / String](https://github.com/HowProgrammingWorks/String)
|
121 | 131 | - последовательность символов (в большинстве языков к каждому символу можно
|
122 | 132 | обратиться через синтаксис доступа к элементам массива, например, квадратные
|
|
238 | 248 | функциональный объект), добавляя ему дополнительное поведение
|
239 | 249 | - можно обернуть целый API интерфейс и даже асинхронную функцию вместе с
|
240 | 250 | колбеками (если известен контракт)
|
241 |
| -- [Рекурсия / Recursion](https://github.com/HowProgrammingWorks/Recursion) |
242 |
| - - Рекурсия - определение функции, через нее саму или задание алгоритма |
243 |
| - вычисления функции через ее же вызов (или непрямой/косвенный вызов). |
244 |
| - - Косвенная рекурсия - когда фнкция определена или вызывает себя не |
245 |
| - напрямую, а через другую или цепочку функций. |
246 |
| - - Хвостовая - частный случай, когда рекурсивный вызов является последней |
247 |
| - операцией перед возвратом значения, что всегда может быть преобразовано |
248 |
| - в цикл, даже автоматическим способом. Не хвостовая может быть преобразована |
249 |
| - в цикл и оптимизирована более сложным способом, обычно вручную. |
250 | 251 | - [Дженерики / Generics](https://github.com/HowProgrammingWorks/Generics)
|
251 | 252 | - Обобщенное программирование - парадигма, позволяющая обобщенно описать
|
252 | 253 | алгоритмы и структуры данных, абстрагируясь от конкретных типов.
|
|
0 commit comments