Funções inline

Seguindo a onda do Miguel, segue mais um artigo muito interessante do Joel sobre funções inline e sua grande aplicabilidade.

É interessante como são poucas as lingugens ditas comercias e amplamente difundidas que possuem está funcionalidade. Tudo bem que está não é uma funcionalidade extremamente essencial nem sempre útil, mas pode facilitar muito a vida em determinadas situações.

É impressionante também como o Joel escreve bem. :)

Ah, e não sei se vocês perceberam, mas agora sou um colaborador oficial deste blog! :) Obrigado Miguel!

  • Lullis,

    Vou concordar com você! :)

    Realmente o artigo não fala sobre funções inline. Na verdade, ocorreu um erro da minha parte no que eu chamei de funções inline.

    Queria chamar atenção para o fato de existirem linguagens que aceitam funções como argumentos de outra funções ou que nos permitem declarar estas funções na mesma linha que estamos escrevendo a chamada de uma função.

    Por exemplo, pegando os exemplos do próprio artigo, algo do tipo:

    function Cook( i1, i2, f )
    {
    alert("get the " + i1);
    f(i1);
    f(i2);
    }

    Cook( "lobster", "water", PutInPot );
    Cook( "chicken", "coconut", BoomBoom );

    Ou, ainda:

    Cook( "lobster",
    "water",
    function(x) { alert("pot " + x); } );
    Cook( "chicken",
    "coconut",
    function(x) { alert("boom " + x); } );

    Como foi dito no texto original do Joel, esta segunda forma de se declarar uma função anonimamente (algo que, inclusive, como você bem disse, é muito comum em linguagens que suportam conceitos de programação funcional) é uma forma de "write them inline instead of declaring them elsewhere". Acho que me empolguei com o termo "inline" usado neste pedaço do texto e acabei usando-o de forma indiscriminada. Para sanar as dúvidas, vou postar um novo artigo no blog a respeito de o que são funções inline exatamente.

    Um abraço,
blog comments powered by Disqus

Switch to our mobile site