domingo, 5 de abril de 2009

Usando referências de função em um script

Uma referencia de função é uma variável que aponta para um função.

Você pode cria-la com a função function(). Ele transforma o nome de uma função
em referencia:
:let result = 0        " or 1
:function! Right()
: return 'Right!'
:endfunc
:function! Wrong()
: return 'Wrong!'
:endfunc
:
:if result == 1
: let Afunc = function('Right')
:else
: let Afunc = function('Wrong')
:endif
:echo call(Afunc, [])
< Wrong! ~
Note que o nome da função que guarda a referencia da função deve começar com
maiúsculo. Caso contrário pode se confundir com o nome de uma função interna.

O modo que uma função que uma variável armazena é chamada é através da função
'call()'. Seu primeiro argumento é a referencia para a função, o segundo
argumento é uma Lista com argumentos.

Referencias para funções são mais úteis quando combinadas com um Dicionário.

0 comentários:

Postar um comentário