Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

[PERL] arrays vergelijken..

Jaaap
3 antwoorden
  • Hallo,

    Ik heb twee arrays met getalletjes (allebei gesorteerd) en nu wil ik graag deze twee arrays vergelijken.. Ik wil graag de elementen die overeenkomen en ook diegen die verschillen (per array).

    Heeft iemand misschien aanwijzingen hoe ik dit zou kunnen aanpakken? De meeste oplossingen die ik tot nu toe gevonden heb, komen meestal neer op element voor element vergelijken, maar dat si eigenlijk niet de manier waarop ik het graag zou willen.

    TIA.

    Robert
  • Hoi,

    Geen pasklaar antwoord, maar wellicht heb je er iets aan?
    Je zou grep() slim kunnen gebruiken. Wordt dan iets als:

    [code:1:e429305498]
    my @array1 = ( 1, 2, 3, 5, 7, 8, 9 );
    my @array2 = ( 1, 3, 4, 5, 6, 7, 9 );

    my @array_same = grep { grep(/^$_$/, @array2); } @array1;
    map { print $_." "; } @array_same;
    [/code:1:e429305498]

    Bovenstaande is NIET getest - gaat om het idee. Zelfde principe - mits aangepast- geldt ook voor het achterhalen van de verschillen.
    Misschien is http://iis1.cps.unizar.es/Oreilly/perl/cookbook/ch04_09.htm nog zinvol?
  • Thanx, dat was inderdaad een handige tip!

    Had ondertussen ook al iets bedacht met sets (vergelijkbaar met het voorbeeld uit het Cookbook). Deze had ik gevonden in 'Algorithms in perl' (ofzo) ook van O' Reilly.

    Lang leven O'Reilly zou ik bijna zeggen.. :)

    Nogmaals bedankt

    Robert

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.