Array :: uniek

Array :: Unique is een tie-bekwame array die alleen unieke waarden mogelijk maakt.
Download nu

Array :: uniek Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Prijs:
  • FREE
  • Naam uitgever:
  • Gabor Szabo
  • Uitgever website:
  • http://search.cpan.org/~szabgab/

Array :: uniek Tags


Array :: uniek Beschrijving

Array :: Unique is een tie-in staat array die alleen unieke waarden mogelijk maakt. Array :: Unique is een tie-in staat array die alleen uniek values.SYNOPSIS gebruik Array maakt :: Unique; das @a, 'Array :: Unique'; Gebruik nu @a als een gewone array.This pakket kunt u een array die slechts één optreden van elke value.In andere woorden zal maken, ongeacht hoe vaak je in 42 het zal alleen het eerste exemplaar te houden en de rest zal worden dropped.You gebruik maken van de module via band en zodra u uw array gebonden aan deze module hij zich zal gedragen correctly.Uniqueness wordt gecontroleerd met de 'eq' operator, zodat onder andere het geval sensitive.As een neveneffect van de module niet undef toe als een waarde in het array.EXAMPLES gebruik Array :: Unique; das @a, 'Array :: Unique'; @a qw = (a b c d e f a); push @a, qw (x bz); afdrukken "@an"; # A b c d e f x zAls u het verzamelen van een lijst van items en u wilt ervoor zorgen dat er slechts één optreden van elk item, heeft u verschillende optie: 1) met behulp van een array en later het extraheren van de unieke elementen. U zou een regelmatige reeks gebruiken om deze unieke set van waarden en verwijdert u duplicaten te houden op elke update door dat het houden van de array altijd uniek of verwijderen duplicaten net voordat u wilt de uniciteit kenmerk van de array te gebruiken. In beide gevallen kunt u een functie die u @a bellen run = unique_value (@a); Het probleem met deze aanpak is dat je de unique_value functie uit te voeren (zie later) en je moet ervoor zorgen dat u vergeet niet te bellen het. Ik zou zeggen vertrouw niet op het onthouden van dit. Er is een goede discussie over het in de 1e editie van de Perl Cookbook van O'Reilly. Ik heb de oplossingen die hier gekopieerd, kunt u verdere bespreking zien in het boek. ---------------------------------------- extraheren unieke elementen uit een lijst (paragraaf 4.6 in de Perl Cookbook 1st ed) # Eenvoudige% gezien = (.); @uniq = (); foreach $ artikel (@List) [tenzij ($ gezien {$ punt}) {# als we hier krijgen we hebben het niet eerder gezien $ gezien {$ post} = 1; duwen (@uniq, $ item); }} # Faster% waargenomen = (); foreach $ artikel (@List) {push (@uniq, $ item) tenzij $ gezien {$ post} ++; } # Sneller maar verschillende% gezien; foreach $ artikel (@List) {$ gezien {$ post} ++; } @Uniq = toetsen% zien; # Sneller en nog meer verschillende% gezien; @uniq = grep {! $ Gezien {$ _} ++} @List; ---------------------------------------- 2) met behulp van een hash Sommige mensen gebruiken de sleutels van een hash om de items te houden en er een willekeurige waarde als de waarden van de hash: om een dergelijke lijst op te bouwen:% unieke = kaart {$ _ => 1} qw (! een twee een twee drie vier); Om af te drukken: druk join "", sorteersleutels% uniek; Om waarden toe te voegen: $ unieke {$ _} = 1 foreach qw (de een na de negen oh negen); Waarden verwijderen: verwijderen @unique {qw (oh negen)}; Om te controleren of een waarde is er: $ unieke {$ value}; # Dat is de reden waarom ik willen gebruiken "1", zoals mijn waarde (met dank aan Gaal Yahas voor de bovenstaande voorbeelden) Er zijn drie nadelen ik zie: 1) U typt more.2) uw lezer misschien niet begrijpen op het eerste waarom heeft u gebruikt hash en wat zal de values.3 zijn) Je verliest de order.Usually niet van hen is kritisch, maar toen ik zag dat dit de 10e keer in een code moest ik te begrijpen met 0 documentatie die ik heb frustrated.3) met behulp van Array :: UniqueSo heb ik besloten om deze module te schrijven, omdat ik gefrustreerd door mijn gebrek aan inzicht in wat er gaande is in de code die ik noemde. Bovendien dacht ik dat het zou interessant zijn om deze en dan de benchmark schrijven. Daarnaast is het leuk om te hebben uw naam weergegeven in heldere lichten over CPAN ... of op zijn minst in een module.Array :: Uniek kunt u een aray koppelen aan hmmm, zelf (?) En zorgt ervoor dat de waarden van de array altijd unique.Since het schrijven van dit ben ik niet zeker of ik echt het gebruik ervan aanbevelen. Ik zou zeggen stok met de hash-versie en document dat de variabele is het aggregeren van een unieke lijst van values.4) Met behulp van real SETThere zijn modules op CPAN waarmee u te maken en stelt te handhaven. Ik heb niet gecontroleerd een van deze, maar ik denk dat ze net zo veel van een overkill voor deze functionaliteit als Unique :: Array.Requirements: · Perl Vereisten: · Perl


Array :: uniek Gerelateerde software

Opties.pm

Options.pm is een opdrachtregeloptie-parsering Perl-module die bedoeld is om de syntaxis van de T.P.Sage.Options-module te imiteren. ...

208

Downloaden