Tie :: Sub.

amarrando uma sub-rotina, função ou método para um hash
Baixe Agora

Tie :: Sub. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Steffen Winkler
  • Site do editor:
  • http://search.cpan.org/~steffenw/

Tie :: Sub. Tag


Tie :: Sub. Descrição

Tie :: Sub é um módulo Perl que amarra uma sub-rotina para um hash.subroutines não se interpretaram em cadeias. A sub-rotina é executada em busca de hash. Finalmente, é o mesmo, apenas a notação é mais curta.Alternative para "... $ {\ sub-sub-sub-lo ('abc')} ..." # ou "... @ @ @ @ { } ... " # ou '...' . sub-rotina ('abc'). '...' escrever "... $ SubRoutine {ABC} ..." Às vezes a sub-rotina espera mais de 1 parâmetro. Em seguida, envie uma referência em uma matriz como 'KEY HASH'. A sub-rotina amarrada receberá os parâmetros sempre como list.Use qualquer referência para devolver mais de 1 valor de retorno. O chamador recupera esta referência. Não há como devolver uma lista.SynopsisInitialize o uso rigoroso; use avisos; usar gravata :: sub; Amarre My% SubRoutine, 'Gravata :: Sub', Sub {...}; ou inicialize tardio tardio My% SubRoutine, 'Tie :: Sub'; (Amarrado% Subroutine) -> Config (sub {...}); ou inicialize tarde também meu objeto $ Object = empate my% SubRoutine, 'Tie :: Sub'; $ Object-> Config (sub {...}); interpolate sub-rotinas em uma função como a função StringUsage (apenas 1 parâmetro de retorno) use rigoroso; use avisos; usar gravata :: sub; amarre meu% sprintf_04d, 'empate :: sub', sub {sprintf 'd', shift}; # A chave hash e o valor de retorno são ambos escalares. Imprimir "Ver $ sprintf_04d {4}, não $ sprintf_04d {5} dígitos."; __End__ Saída: veja 0004, não 0005 dígitos. Ou mais flexível use rigoroso; use avisos; usar gravata :: sub; Gravata My% Sprintf, 'Tie :: Sub', Sub {Sprintf Shift, Shift}; # A chave HASH é uma referência de matriz, o valor de retorno é um escalar. Imprimir "Ver $ Sprintf {} Dígitos."; __End__ Saída: ver 0004 dígitos.Usage como sub-rotina usar rigoroso; use avisos; usar gravata :: sub; use inglês qw ($ list_separator); Gravata my% sprintf_multi, 'empate :: sub', sub {retorno! @__? q {}: @_> 1? : Sprintf "d \ n", turno; }; # A chave de hash e o valor de retorno ar ambos escalares ou referências de matriz. {usar inglês qw ($ list_separator); $ List_Separator = Q {}; Imprimir << "eot"; veja as seguintes linhas scalar $ sprintf_multi {10} arrayref @ {$ sprintf_multi {}} e ter sorte eot} __end__ sa


Tie :: Sub. Software Relacionado