1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

skalar || referenz ?

  • shabby
  • 8. Juni 2002 um 16:22
  • Unerledigt
  • shabby
    7
    shabby
    Mitglied
    Punkte
    435
    Beiträge
    74
    • 8. Juni 2002 um 16:22
    • #1

    frage:
    angenommen ich lese die cgi-query über das ARGS - Hash aus.
    weiters kann entweder der Fall
    ARGS{var} = Skalar oder
    ARGS{var} = Referenz auf Array
    auftreten.
    Wie frag ich ab, welche der beiden Fälle es ist ???

    mfg

    edit: workaround gefunden

    mapM checkout [ http://lambda-the-ultimate.org/, http://blog.sigfpe.com/ , xkcd, Real World Haskell ]

  • slay@ne.xt ()
    1
    slay@ne.xt ()
    Gast
    • 8. Juni 2002 um 21:19
    • #2

    shabby <shabby> wrote:
    >angenommen ich lese die cgi-query über das ARGS - Hash aus.
    >weiters kann entweder der Fall
    >ARGS{var} = Skalar oder
    >ARGS{var} = Referenz auf Array
    >auftreten.
    >Wie frag ich ab, welche der beiden Fälle es ist ???

    perldoc -f ref

    HTH
    slayven

  • shabby
    7
    shabby
    Mitglied
    Punkte
    435
    Beiträge
    74
    • 9. Juni 2002 um 02:54
    • #3

    danke, ich bin perl einsteiger

    übrigens mein workaround war:

    if(defined @{ARGS{name}}) :)

    mfg

    mapM checkout [ http://lambda-the-ultimate.org/, http://blog.sigfpe.com/ , xkcd, Real World Haskell ]

  • slay@ne.xt ()
    1
    slay@ne.xt ()
    Gast
    • 9. Juni 2002 um 12:47
    • #4

    shabby <shabby> wrote:
    >danke, ich bin perl einsteiger
    >
    >übrigens mein workaround war:
    >
    >if(defined @{ARGS{name}}) :)
    >

    Das wird unter strict und warnings fehler ausspucken, wenn du
    versucht ein SCALAR zu dereferenzieren. Bei einem Array sollts
    aber passen, ja.

    slayven

  • #!/usr/bin/perl
    8
    #!/usr/bin/perl
    Mitglied
    Reaktionen
    2
    Punkte
    612
    Beiträge
    114
    • 9. Juni 2002 um 13:12
    • #5

    Die Funktion ref( $arg ) fragt einen Skalar ab, obs eine Referenz ist oder nicht; gibt falsch zurueck, falls das Argument ein String oder eine Zahl ist, wenn es sich um eine Referenz handelt, kriegst einen String, der aussagt, was fuer eine Art von Referenz es ist:

    SCALAR, HASH, ARRAY, REF ( Referenz auf eine Referenz ), CODE ( Ref auf eine sub ), GLOB ( Ref auf Typeglob );


    ein Beispiel:

    my %hash;
    my $hashref = \%hash; # oder: my $hashref = ();
    print ref( $hashref ); # gibt HASH zurueck

    my $string = "Perl Rulez\n";
    print ref ( $string ); # gibt false zurueck

    btw, eine Referenz ist immer ein Skalar :winking_face:

    ciao

    Oliver

    this is Unix land. In silent nights, you can hear Windows machines reboot...

  • Maximilian Rupp 27. Dezember 2024 um 12:08

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Benutzer online in diesem Thema

  • 1 Besucher

Rechtliches

Impressum

Datenschutzerklärung