Contextual :: retorno

Contextual :: Return é um módulo Perl para criar valores de retorno de contexto-senstive.
Baixe Agora

Contextual :: retorno Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Damian Conway
  • Site do editor:
  • http://search.cpan.org/~dconway/

Contextual :: retorno Tag


Contextual :: retorno Descrição

Contextual :: Retorno é um módulo Perl para criar valores de retorno do contexto-senstive. Contextual :: retorno é um módulo Perl para criar valores de retorno de contexto-senstive.synopsis Use contextual :: Retorno; usar carpa; Sub foo {return Scalar {'trinta e doze'} bool {1} num {7 * 6} list {'quarenta e dois'} lista {1,2,3} hashref {{name => 'foo', valor = > 99}} Arrayref {} globref {* stdout} coderef {croak "não use esse resultado como código!"; }; } # e depois ... se (meu $ foo = foo = foo ()) {para minha contagem de $ $ (1 .. $ foo) {imprimir "$ contagem: $ foo é: n". "Array: @ {$ foo} n". "Hash: $ foo -> {name} => $ foo -> {valor} n"; } Imprimir {$ foo} $ foo -> (); } Normalmente, quando você precisa criar uma sub-rotina que retorna valores diferentes em diferentes contextos (lista, escalar ou void), você escreve algo como: sub get_server_status {my ($ server_id) = @_; # Adquira dados do servidor de alguma forma ... My% server_data = _asceate_server_status ($ server_id); # Retorna diferentes componentes desses dados, dependendo do contexto de chamada ... se (waRarray ()) {return @server_data {qw (name uppertime carregar usuários)}; } if (definido payarray ()) {return $ server_data {load}; } Se (! Definido SARADARRAY ()) {carp 'uso inútil de get_server_status () no contexto vazio'; Retorna; } else {croak q {mau contexto! Nenhum biscoito!}; }} Isso funciona bem, mas o código certamente poderia ser mais legível. Em seu uso mais simples, este módulo torna esse código mais legível, fornecendo três sub-rotinas - lista (), escalar (), vazio () - que são verdadeiras somente quando a sub-rotina atual é chamada no contexto correspondente: Use contextual :: Retornar; sub get_server_status {my ($ server_id) = @_; # Adquira dados do servidor de alguma forma ... My% server_data = _asceate_server_status ($ server_id); # Retornar diferentes componentes desse número de dados, dependendo do contexto de chamada ... se (lista) {return @server_data {qw (name uppertime carregar usuários)}}} {return $ server_data {carregar} { Imprimir "$ server_data {carregar} n"} else {croak q {contexto ruim! Nenhum biscoito!}}}} Retornamento contextual que três sub-rotinas também podem ser usadas de outra maneira: como rótulos em uma série de blocos de retorno contextuais (coletivamente conhecidos como uma seqüência de contexto). Quando uma sequência de contexto é retornada, ela seleciona automaticamente o bloco de retorno contextual apropriado para o contexto de chamada. Assim, o exemplo anterior poderia ser escrito ainda mais limpo como: Use contextual :: retorno; sub get_server_status {my ($ server_id) = @_; # Adquira dados do servidor de alguma forma ... My% server_data = _asceate_server_status ($ server_id); # Retornar diferentes componentes desse número de dados dependendo do contexto de chamada ... return (lista {retorno @server_data {qw (name uppertime carregar usuários)}} scalar {return $ server_data {load}} {print "$ server_data {carregar} n "} Padrão {Croak q {Bad Context! No Biscuit!}}); } A sequência de contexto seleciona automaticamente o bloco apropriado para cada contexto de chamada. Requisitos: · Perl. · Versão.pm. · Want.pm.


Contextual :: retorno Software Relacionado

Io :: prompt

IO :: Prompt é um módulo Perl para solicitar interativamente a entrada do usuário. ...

164

Download