cachaito
12/22/2015 - 7:34 AM

Pseudo 'functory'

Za: https://youtu.be/YLIH8TKbAh4?t=386 Zagadnienia: tworzenie pseudo 'functorów' - (przykład: Array.map) plus interesująca metoda zamieniająca na liczby litery dzięki której możemy iterować po poprzedniej i następnej literze w alfabecie. W ścisłym znaczeniu functor to obiekt, który zawiera w sobie metodę np Arrays, Promises (not native, they don't have .map method) Podobne: https://medium.com/@kaw2k/a-map-to-success-functors-in-javascript-6eb6638ce966#.6pq4usa74

function stringFunctor(value, fn) {
  var chars = value.split('');
  
  return chars.map(function(char) {
    return String.fromCharCode(fn(char.charCodeAt(0)))
  }).join('');
}

function plus1(val) {
  return val + 1;
}

function minus1(val) {
  return val - 1;
}

var added = stringFunctor('ABC', plus1); //BCD
var deducted = stringFunctor('XYZ', minus1); //WXY