Skip to content

Instantly share code, notes, and snippets.

@LucasBadico
Last active June 13, 2018 19:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LucasBadico/05af830b3f16b05ddfb0679c35a76407 to your computer and use it in GitHub Desktop.
Save LucasBadico/05af830b3f16b05ddfb0679c35a76407 to your computer and use it in GitHub Desktop.
Curry
// versao sem curry
function fatiar(prato1, prato2, prato3, prato4, pizza) { // nossa pizza aqui é de pedaçoes grandes
return [
{
[prato1]: pizza/4
},
{
[prato2]: pizza/4,
},
{
[prato3]: pizza/4,
},
{
[prato4]: pizza/4,
}
]
}
// versao com curry
function fatiarCurry(prato1) { // vamos usar arrow function só para poder deixar isso mais enxuto
return (prato2) => (prato3) => (prato4) => (pizza) => {
return [
{
[prato1]: { pedacos: pizza.pedacos/4, sabor: pizza.sabor }
},
{
[prato2]: { pedacos: pizza.pedacos/4, sabor: pizza.sabor }
},
{
[prato3]: { pedacos: pizza.pedacos/4, sabor: pizza.sabor }
},
{
[prato4]: { pedacos: pizza.pedacos/4, sabor: pizza.sabor }
}
]
}
fatiar('henrique', 'fernando', 'luiz', 'renato', {sabor: 'marguerita', pedacos: 8 })
fatiarCurry('henrique')('fernando')('luiz')('renato')({sabor: 'marguerita', pedacos: 8 })
const mesaSpark = fatiarCurry('henrique')('fernando')('luiz')('renato')
mesaSpark({sabor: 'marguerita', pedacos: 8 })
mesaSpark({sabor: 'mussarela', pedacos: 8 })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment