0
J'ai une fonction d'ordre supérieur: disons pour simplifierarguments Inverser l'ordre en fonction cari (Ramda js)
const divideLeftToRight = x => y => x/y;
Je voudrais avoir une fonction qui effectue la division, mais de « droite à gauche ». En d'autres termes, je dois avoir:
const divideRightToLeft = x => y => y/x;
Je pensais à faire:
const divideRightToLeft = R.curry((x,y) => divideLeftToRight(y)(x));
Je me demande s'il y a une façon plus élégante de le faire
Le flip ne fonctionne pas avec ma fonction d'ordre supérieur (à moins de tweeking peut-être). http://ramdajs.com/repl/#?const%20divideLeftToRight%20%3D%20x%20%3D%3E%20y%20%3D%3E%20x%2Fy%3B%0A%0A%0Aconst% 20divideRightToLeft% 20% 3D% 20R.flip% 28divideLeftToRight% 29% 0A% 0AdivideRightToLeft% 282% 29% 2833% 29 si ma fonction était: const divideLeftToRight = (x, y) => x/y; alors le retournement des arguments fonctionnerait – tcoder01
Est-ce que 'flip' fonctionne avec les fonctions carri'erees par ramda elle-meme (pas par les fonctions fl'eches imbriquées)? – Bergi
@Bergi: pas exactement. Il retourne les deux premiers arguments de n'importe quelle fonction (arité 2+). Cela fonctionnerait bien avec '(x, y) => x/y'. Ou, alternativement, on pourrait utiliser 'flip' avec' uncurryN'. Mais il ne sait pas quoi faire avec une fonction arity-1. –