Skip to content

Commit c72ecdc

Browse files
committed
iliakan review
1 parent 5157c52 commit c72ecdc

File tree

1 file changed

+6
-6
lines changed
  • 1-js/06-advanced-functions/11-currying-partials

1 file changed

+6
-6
lines changed

1-js/06-advanced-functions/11-currying-partials/article.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ libs:
33

44
---
55

6-
# Каррирование (currying) и частичное применение (partial application)
6+
# Каррирование и частичное применение
77

88
До сих пор мы говорили только о привязывании `this`. Давайте шагнём дальше.
99

@@ -110,9 +110,9 @@ user.sayNow("Hello");
110110
- Затем передаёт ей `...argsBound` -- аргументы из вызова `partial` (`"10:00"`)
111111
- Затем передаёт ей `...args` -- аргументы, полученные обёрткой (`"Hello"`)
112112

113-
Итак, это легко сделать с помощью оператора расширения?
113+
Благодаря оператору расширения `...` это реализовать очень легко, не правда ли?
114114

115-
Так же есть готовый вариант [_.partial](https://lodash.com/docs#partial) из библиотеки lodash.
115+
Также есть готовый вариант [_.partial](https://lodash.com/docs#partial) из библиотеки lodash.
116116

117117
## Каррирование
118118

@@ -169,15 +169,15 @@ function curry(f) {
169169

170170
Продвинутое каррирование позволяет вызывать функцию, как обычно, так и с частичным применением.
171171

172-
Например, у нас есть функция логирования `log(date, importance, message)`, которая подготавливает и выводит информацию. В реальных проектах у таких функций есть много других полезных возможностей, например, посылать логи по сети:
172+
Например, у нас есть функция логирования `log(date, importance, message)`, которая форматирует и выводит информацию. В реальных проектах у таких функций есть много других полезных возможностей, например, посылать логи по сети:
173173

174174
```js
175175
function log(date, importance, message) {
176176
alert(`[${date.getHours()}:${date.getMinutes()}] [${importance}] ${message}`);
177177
}
178178
```
179179

180-
Давайте используем каррирование!
180+
А теперь давайте применим к ней каррирование!
181181

182182
```js
183183
log = _.curry(log);
@@ -285,7 +285,7 @@ function curried(...args) {
285285
Так как число аргументов всё ещё меньше 3-х, `curry` возвращает `pass`.
286286
3. Обёртка `pass` вызывается снова с `(3)`. Для следующего вызова `pass(3)` берёт предыдущие аргументы (`1`, `2`) и добавляет к ним `3`, делая вызов `curried(1, 2, 3)` -- наконец 3 аргумента, и они передаются оригинальной функции.
287287

288-
Если всё ещё не понятно, просто представьте последовательность вызовов в уме или на бумаге.
288+
Если всё ещё не понятно, просто распишите последовательность вызовов на бумаге.
289289

290290
```smart header="Только функции с фиксированным количеством аргументов"
291291
Для каррирования необходима функция с известным фиксированным количеством аргументов.

0 commit comments

Comments
 (0)