MouseOver Studio

MouseOver Studio header image 2

Programação funcional com JavaScript e Functional

July 24th, 2007 por Diego Carrion · 1 comentário

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.

Tags: JavaScript · livrarias · programação

1 resposta ate agora ↓

  • 1 Dionysios // Aug 30, 2007 at 10:48 pm

    Interesting…

Deixar um comentário