Hoje conheci a livraria Functional e me encanto.
Functional é uma livraria para programação funcional em JavaScript. Ela define funções padrão de ordem maior como map, reduce (vulgo foldl) e select (vulgo filter). Define também funções como curry, rcurry e partial para a aplicação de funções parciais […]. Todas as funções aceitam strings do tipo ‘x -> x+1′, ‘x+1′ ou ‘+1′ como sinônimo para a função function(x) {return x + 1}
Imaginemos que temos um array de números inteiros e queremos incrementar cada valor em uma unidade. Normalmente faríamos:
map(function(x){return x+1}, [1,2,3])
mas com Functional podemos fazer:
map('x+1', [1,2,3])
Se quiséssemos multiplicar um valor por aquele mesmo ate ser maior que 100, empezando com 2, com Functional poderiamos usar a função until:
until('>100', 'x*x')(2)
que vai fazer o seguinte: (((2 * 2) * 4) * 16) -> 256
No caso que desejemos fazer uma seleção de valores num vetor, teríamos como opção a função select. Nesse caso pegaremos os números maiores que 2:
select('x>2', [1,2,3,4])
Esse foi somente um simples exemplo do poderio do Functional. Os exemplos mostrados foram os mais simples, mas dependendo do programador, se podem criar expressões bem complexas e efetivas. Na página do Functional se podem testar algumas expressões e assim descobrir como ira se comportar o script nos casos indicados.
1 resposta ate agora ↓
1 Dionysios // Aug 30, 2007 at 10:48 pm
Interesting…
Deixar um comentário