Skip to content

Commit

Permalink
Typo fix (#32)
Browse files Browse the repository at this point in the history
Typos

Каррирования -> каррирование

Typos

Перепутана нумерация примеров. Данные нужны в первом примере, а во втором тот них избавились.

Update ch5-ru.md
  • Loading branch information
ElForastero authored and maksimf committed May 1, 2017
1 parent 8b5354b commit 6bbba9b
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions ch5-ru.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ last(['jumpkick', 'roundhouse', 'uppercut']);
//=> 'uppercut'
```

Функция `reverse` перевернёт массив, а `head` — вернёт его первый элемент. Их композиция представляет из себя рабочую, хотя и не эффективную функцию `last`. В данном случае важен порядок функций в композиции. Мы могли бы определить и версию, которая работала бы слева направо, но мы хотим оставаться строгими в отношении математического определения композиции. Так и есть, наша композиция как будто сошла со страниц учебника по математики. Давайте же посмотрим, какие свойства математической композиции мы можем применить.
Функция `reverse` перевернёт массив, а `head` — вернёт его первый элемент. Их композиция представляет из себя рабочую, хотя и не эффективную функцию `last`. В данном случае важен порядок функций в композиции. Мы могли бы определить и версию, которая работала бы слева направо, но мы хотим оставаться строгими в отношении математического определения композиции. Так и есть, наша композиция как будто сошла со страниц учебника по математике. Давайте же посмотрим, какие свойства математической композиции мы можем применить.

```js
// ассоциативность
Expand Down Expand Up @@ -114,7 +114,7 @@ var snakeCase = function (word) {
var snakeCase = compose(replace(/\s+/ig, '_'), toLowerCase);
```

Заметили, как мы частично применили `replace`? Здесь мы передаём данные от функции к функции, каждая из которых принимает по 1 аргументу. Каррирования позволяет нам подготовить каждую функцию так, чтобы она принимала нужные ей данные, проводила с ними операции и передавала их дальше. Хочу также отметить, что в первом примере нам не нужны данные, чтобы сконструировать нашу функцию, тогда как во втором примере нам требуется `word`, чтобы сделать хоть что-то.
Заметили, как мы частично применили `replace`? Здесь мы передаём данные от функции к функции, каждая из которых принимает по 1 аргументу. Каррирование позволяет нам подготовить каждую функцию так, чтобы она принимала нужные ей данные, проводила с ними операции и передавала их дальше. Хочу также отметить, что во втором примере нам не нужны данные, чтобы сконструировать нашу функцию, тогда как в первом примере нам требуется `word`, чтобы сделать хоть что-то.

Давайте взглянем на ещё один пример.

Expand Down Expand Up @@ -304,7 +304,7 @@ var averageDollarValue = function(cars) {

// Упражнение 4:
// ============
// Напишите функцию: sanitizeNames() использую композицию которая возвращает список имён в нижнем регистре и заменяя все пробелы на _, пример: sanitizeNames(["Hello World"]) //=> ["hello_world"].
// Напишите функцию: sanitizeNames() используя композицию которая возвращает список имён в нижнем регистре и заменяя все пробелы на _, пример: sanitizeNames(["Hello World"]) //=> ["hello_world"].

var _underscore = _.replace(/\W+/g, '_'); //<-- не изменяйте эту функцию

Expand Down

0 comments on commit 6bbba9b

Please sign in to comment.