| Ordenar :: Metade :: Maker Ordenar :: Methion :: Maker é um módulo Perl para criar meia classificação subs facilmente. |
Baixe Agora |
Ordenar :: Metade :: Maker Classificação e resumo
- Licença:
- Perl Artistic License
- Nome do editor:
- Adriano R. Ferreira
- Site do editor:
- http://search.cpan.org/~ferreira/Acme-Note-0.5/lib/Acme/Note.pm
Ordenar :: Metade :: Maker Tag
Ordenar :: Metade :: Maker Descrição
Ordenar :: Metade :: Maker é um módulo Perl para criar meia classificação subs facilmente. Ordenar :: Metade :: Maker é um módulo Perl para criar meia classificação Subsamente.synopsis Use Classificar :: Metade :: Maker QW (make_halfsort); $ sub = make_halfsort (start => , final => , fallback => sub {$ _ cmp $ _ },); @list = classificar $ sub qw (a y f h w z b t x); # qw (x y z f h t w a b) antes de qualquer coisa, o que é meio tipo? Um meio-tipo é uma sub-rotina definida por uma lista de partida, uma lista final e uma sub-rotina ordinária de classificação. Elementos na lista de partida sempre vão primeiro em comparação com os outros e mantenha a ordem original. Elementos na lista final sempre vão por último em comparação com os outros e mantêm sua ordem original. Os elementos restantes são classificados através do determinado tipo ordinário sub-rotina. Exemplo, por favor? Imagine que queremos classificar a lista de pares chave / valor de um hash, tal que QW (nome de licença abstrata da versão do nome) vêm primeiro e QW (meta- Spec) vem por último, usando comparação insensível no caso entre. Com este módulo, isso é feito de modo: $ sub = make_halfsort (start => , final => , fallback => sub {lc $ _ CMP LC $ _ }); Meus @Pairs = map {($ _, $ h {$}})} classificar $ sub teclado (% h); por que é bom? Eu não vejo muitos usos para isso. Eu joguei com o conceito ao escrever um patch para melhorar a geração de meta.yml pela extutils :: Makemaker. Lá queríamos despejar algumas chaves (como nome, versão, resumo, licença, autor) antes e, em seguida, aqueles que o autor do módulo fornecido como informação extra.functionsmake_halfsort $ sub = make_halfsort (start => @start_list, end => @end_list, fallback => sort_sub); @sorted = classificar $ sub @unsorted; constrói uma sub-rotina de classificação que pode ser usada com o tipo. Ele divide a lista classificada em (possivelmente) três partições: os elementos contidos no @start_list, os elementos contidos em @end_list e os restantes. Para os elementos no @start_list e @end_list, a ordem da lista é preservada. Para os restantes, a classificação fornecida sub (ou o padrão) é usada. Se o fallback é omitido, ele é o padrão para usar o sub-sub ($$) {$ _ CMP $ _ }. Os argumentos Início ou fim pode ser omitido também. Mas se você omitir ambos, você poderia ter feito isso sem meia classificação.Ramentamentos: · Perl
Ordenar :: Metade :: Maker Software Relacionado