Elemente in Hashes einfügen - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Jurenda (305 Beiträge) am Dienstag, 29.Oktober.2002, 23:47.
    Elemente in Hashes einfügen

      Hat jemand von Euch eine Ahnung, wie man auf einem Rutsch mehrere Elemente in einen Hash einfügen kann?

      $me{PLZ} = "12345";
      
      %me = (
          Name => "Müller",
          Strasse => "Riedenfeld 12"
        );
      

      Das hier funktioniert nicht, denn bei der 2. Anweisung wird der bestehende Inhalt von %me gelöscht :-(

      Die Variante mit

      @me{ Name, Strasse } = ( "Müller", "Riedenfeld 12" );
      

      ist leider aus Übersichtlichkeitsgründen (30 Elemente) nicht machbar.

      Herzliche Grüße von Jurenda :-})


    Ihre Antwort:

    Name: EMail: EMail bei Antwort? WWW:
    Titel:
    Text:

    Neuer Eintrag


 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Jurenda (305 Beiträge) am Dienstag, 29.Oktober.2002, 23:47.
    Elemente in Hashes einfügen

      Hat jemand von Euch eine Ahnung, wie man auf einem Rutsch mehrere Elemente in einen Hash einfügen kann?

      $me{PLZ} = "12345";
      
      %me = (
          Name => "Müller",
          Strasse => "Riedenfeld 12"
        );
      

      Das hier funktioniert nicht, denn bei der 2. Anweisung wird der bestehende Inhalt von %me gelöscht :-(

      Die Variante mit

      @me{ Name, Strasse } = ( "Müller", "Riedenfeld 12" );
      

      ist leider aus Übersichtlichkeitsgründen (30 Elemente) nicht machbar.

      Herzliche Grüße von Jurenda :-})

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 30.Oktober.2002, 00:19.
    Re: Elemente in Hashes einfügen

      wird wohl nur mit einem merge gehen:

      $me{PLZ} = "12345";
      
      %me2= (
      Name => "Müller",
      Strasse => "Riedenfeld 12"
      );
      %me=(%me,%me2);

      Sander

     Antworten

    Beitrag von H.Fehde (724 Beiträge) am Mittwoch, 30.Oktober.2002, 01:04. WWW: bei123.de
    Re: Elemente in Hashes einfügen

      ..je nach Belieben, z.B.:

      @ar1=("Name","Strasse");
      @ar2=("Müller","Riedenfeld 12");
      %hash = map {$_=>(shift @ar2) } @ar1;
      

      Gruß Harald

     Antworten

    Beitrag von Jurenda (305 Beiträge) am Mittwoch, 30.Oktober.2002, 07:05.
    Re: Elemente in Hashes einfügen

      Danke Harald, das ist eine interessante Lösung, aber genau die Trennung von key und value wollte ich nicht haben wegen der Wartbarkeit ;-)

      Danke Sander, Deine Lösung ist echt super. Ansich bin ich ja nicht so schlecht in Perl, aber bei Datenstrukturen stellts mich hie und da noch immer recht kräftig auf. Dabei ist die Syntax konsistent und im Nachhinein immer alles ganz klar :-(

      Hab einfach vergessen, daß Listenvariablen in einer Liste als mehrere Einträge der Liste angesehen werden. Und da Hashas in einigen Fällen sehr nahe bei den Listen sind, gilt's auch hier.

      Ich hab jetzt folgende vereinfachte Lösung, die noch ein weiteres Problem von mir löst (da gibts dann noch Hash von Hash und Kopie von Hash anstelle von Referenz.... aber das Einfache hab ich nicht hingekriegt :-(

      $me{PLZ} = "12345"; # Vorbelegung von %me
      

      %me= (
        %me,              # bestehenden Hash mitnehmen
        Name => "Müller",
        Strasse => "Riedenfeld 12"
          );
      

      Herzlichen Dank von Jurenda :-})

     Antworten

    Beitrag von Sander (8133 Beiträge) am Mittwoch, 30.Oktober.2002, 09:25.
    Re: Elemente in Hashes einfügen

      jo, stimmt ja, so gehts auch ;-)

      Sander

     Antworten


     
 Liste der ersten 150 Einträge:Einklappen Zur Eingabe 
 Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.10s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!