Avatar billede perh Juniormester
20. februar 2002 - 12:21 Der er 7 kommentarer og
1 løsning

foreach , - men ikke første element

Jeg har denne:

foreach $col (@db_cols) {
      print qq|<th>$col</th>|;
    }

men jeg skal ikke printe det første element.

længden af (@db_cols) kan variere.



Hvordan fjerner jeg det første element , jeg skal vel have en slice?
Avatar billede erikjacobsen Ekspert
20. februar 2002 - 13:17 #1
Du siger vistnok bare

foreach $col (unshift(@db_cols)) {
Avatar billede erikjacobsen Ekspert
20. februar 2002 - 13:18 #2
Eller ... rettere....:

  unshift(@db_cols);
  foreach $col (@db_cols) {

Det andet du'r ikke ..
Avatar billede perh Juniormester
20. februar 2002 - 13:43 #3
Ja, det kan bruges, og jeg giver dig point - om lidt
Men hvad hvis jeg vil bevare arrayet, men bare ikke printe det første element i dette tilfælde?
Avatar billede erikjacobsen Ekspert
20. februar 2002 - 13:51 #4
Det anede mig du ville spørge. Vi kan jo hacke lidt

  $gemme=unshift(@db_cols);
  foreach $col (@db_cols) {
    ..
  }
  shift(@db_cols,$gemme);

Ellers mener jeg der er anden måde... min Perl bog er ikke lige her.
Avatar billede erikjacobsen Ekspert
20. februar 2002 - 13:52 #5
Eller et andet hack;

  $i=0;
  foreach $col (@db_cols) {
    $i++;
    if ($i==1) { continue: }
  ...
  }
Avatar billede erikjacobsen Ekspert
20. februar 2002 - 13:53 #6
Nå, et semikolon:

  if ($i==1) { continue; }
Avatar billede perh Juniormester
20. februar 2002 - 13:58 #7
Jo, da
Det dækker fint hvad jeg skal bruge, mange tak
send mig lige et "svar" i. st. f. kommentar, så du kan få dine points
Avatar billede erikjacobsen Ekspert
20. februar 2002 - 19:35 #8
Ok, men sidste version må hellere blive korrekt. Så vi tager
den lige én gang til for Prins Knud:

      $i=0;
      L: foreach $col (@db_cols) {
          $i++;
          if ($i==1) { next L; }
          ...
      }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester