@DarCKoder

Как это работает?

Не пойму как работает код ниже.

function add(a, b) {
return a + b;
}

function square(x) { return x * x; }

var squareAdd = fmap(square, add);
console.log(squareAdd(2, 3)); // 25 = (2 + 3) ^ 2
console.log(squareAdd(5, 7)); // 144 = (5 + 7) ^ 2
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Похоже, вы забыли приложить код функции fmap. Впрочем, не сложно догадаться что там было:
var fmap=(s,a)=>(x,y)=>s(a(x,y))
https://jsfiddle.net/k8jkuh3d/
Ответ написан
Комментировать
mlnkv
@mlnkv
JavaScript Developer
function square(x) { 
  return x * x; 
}

function add(a, b) {
  return a + b
}

function fmap(a, gen) {
  return function() {
    return a(gen.apply(null, arguments))
  }
}

var squareAdd = fmap(square, add)

squareAdd(2, 3) // 25
squareAdd(5, 7) // 144
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы