Danke! war Re: @Perler - Parameter an Sub .... - 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 hempelr (1976 Beiträge) am Montag, 28.Juli.2003, 11:13.
    Danke! war Re: @Perler - Parameter an Sub ....

      Danke, Sander,
      hatte das im Perl-Kochbuch (Rezept 10.7) bisher nich richtig gefressen, aber nun alles klar, komm damit jetzt zurecht.
      CU
      Ruben


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von hempelr (1976 Beiträge) am Montag, 28.Juli.2003, 09:04.
    @Perler - Parameter an Sub - mit Namen bennennen und auswerten?

      Hallo,
      bin grad am aufräumen von paar Subs - und auf ein Problem gestossen.
      Wenn man Parameter an DOS-Programme übergibt kann man die ja direkt bennennen bzw. in der Reihenfolge beliebig wählen oder auch beliebig weglassen.
      (Bspw.: dir *.txt /w /p; dann macht er auch nur das was an Paras übergeben wurde - wenn nur dir dann sind halt Standardwerte voreingestellt)
      Kriegt man sowas auch irgendwie in Perl hin?
      Also bspw. ne Sub, die bis zu 15 Parameter mitkriegen kann aber nur gelegentlich andere beliebige geänderte Werte für beliebige Parameter übergeben bekommt - es sollen allgemeine Standardvorgabewerte in der Sub drin sein.
      Mit der "allgemein üblichen" Art muss man da ja dann jeden nicht zu ändernden Parameter als Leerstring an der richtigen Stelle übergeben - das ist ja schon ab 5 Parameter oder so recht lästig und schwer zu merken....

      Dachte, dass es vielleicht irgendwie so aussehen sollte:
      ⊂(farbe=rot,greosse=klein) 
      
      wobei hier halt nur bspw. Parameterwert mit Index 4 und 9 angebeben wurde.
      In der Sub dann nimmt er es aber so ja als Parameterwert 0 und 1 aus der @_ Liste.
      normalerweise muss das ja dann so gemacht werden:
      ⊂("","","","","rot","","","","","klein")
      

      Hat das vielleicht schon mal jemand gebaut und kann bitte mal einen Tipp dazu abgeben?
      Danke
      Ruben

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 28.Juli.2003, 10:33.
    Re: @Perler - Parameter an Sub - mit Namen bennennen und auswerten?

      klar, mit referenzen geht das gut:
      %hash=(farbe=>"rot",groesse=>100);
      &test(\%hash);
      sub test{
        my %privat=%{$_[0]};
        out keys(%privat);
      }
      

      Sander

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 28.Juli.2003, 11:13.
    Danke! war Re: @Perler - Parameter an Sub ....

      Danke, Sander,
      hatte das im Perl-Kochbuch (Rezept 10.7) bisher nich richtig gefressen, aber nun alles klar, komm damit jetzt zurecht.
      CU
      Ruben

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 29.Juli.2003, 00:07.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      habs mir gerade angeschaut, ohne referenz wie im cookbook ist es ja noch schöner.
      %hash=(farbe=>"rot",groesse=>100);
      &test(%hash);
      sub test{
        my %privat=(@_);
        out keys(%privat);
      }
      

      Sander

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 29.Juli.2003, 00:29.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      > ohne referenz wie im cookbook ist es ja noch schöner.
      

      ...aber auch uneffizienter (Hash in Liste wandeln, Liste kopieren, Liste zurück in Hash wandeln...) ;-))

      Da Dir wahrscheinlich das

      &test{\%hash};
      

      nicht gefällt, take this:

      %hash=(farbe=>"rot",groesse=>100);
      &test(%hash);
      sub test (\%)
      {
        out keys(%{$_[0]});
      }
      

      Hab ich jetzt was gewonnen? ;-)

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 29.Juli.2003, 00:45.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      nö, ich... Wissen ;-)

     Antworten

    Beitrag von H.Fehde (724 Beiträge) am Dienstag, 29.Juli.2003, 00:55.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      %hash=(farbe=>"rot",groesse=>100);
      &test(\%hash);
      sub test
      {
      out keys(%{$_[0]});
      }
      

      Vielleicht so ;-)

     Antworten

    Beitrag von sander (0 Beiträge) am Dienstag, 29.Juli.2003, 01:05.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

     Antworten

    Beitrag von H.Fehde (724 Beiträge) am Dienstag, 29.Juli.2003, 01:20.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      weiß ich, ist aber - so glaub ich - richtiger als das von CB

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 29.Juli.2003, 02:24.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 29.Juli.2003, 07:02.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      schön, dass es endlich wieder mal ne interessante Fachdiskussion gibt ;-)
      Aber das mit der Referenzen und Prototypen nützt einem ja nix, wenn die Sub voreingestellte Werte haben soll.
      Es wird ja in jedem Fall immer nur das Key-Wertpaar-Bündel aus dem übergebenen Hash (Hashreferenz) in der Sub ansprechbar.

      %hash=(farbe=>"rot",groesse=>100,art=>"übelst kompliziert");
      &test(%hash);
      sub test{
        # Standardwerte vorgeben #
        my %args=(farbe=>"weiss",
                  groesse=>500,
                  art=>"keine leichte Übung",
                  diskurs=>"macht nicht dümmer",
                  @_,);
        foreach $hk (keys %args){
        out "Schlüssel: $hk - Wert: $args{$hk}<br>";
      }
      
      Mit Referenzen hab ich das nicht hingekriegt, dass dann auch die Standardwerte bleiben - ausser es wird wieder, so was du ja als ineffieziente Mathode bezeichnest, von der übergebenen Hashreferenz in den "Standardwerthash" umkopiert, damit vorh. und nicht zu ändernde Key-Wertpaare nicht zerstört werden, oder seh ich das falsch?
      CU
      Ruben

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 29.Juli.2003, 16:11.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      > Mit Referenzen hab ich das nicht hingekriegt, dass dann auch die Standardwerte bleiben...
      

      Mit Referenzen geht auch alles was "normal" geht ;-)

      my %args=(farbe=>"weiss", groesse=>500, art=>"keine leichte Übung", diskurs=>"macht nicht dümmer", @{$_[0]});
      

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Dienstag, 29.Juli.2003, 18:54.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      mhm - also dann hab ich irgendwie immer noch die Sache mit den Referenzen noch nich richtig kapiert.... Danke erst mal für den Tipp - so hatte ich es natürlich nich gemacht....
      Wo liegt denn aber nun der Vorteil von Referenzen ?
      Werden nun die Werte der referenzierten Var behalten und nur die Referenzen manipuliert (könnte das nicht zu einem Namespace-Problem führen, wenn nicht konsequent dann immer mit den Referenzen gearbeitet wird?)
      CU
      Ruben
      PS Danke für schnelle Erledigung Liz.!

     Antworten

    Beitrag von Sander (8133 Beiträge) am Dienstag, 29.Juli.2003, 09:57.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      Gewinn: ein Wochenende im Schnee mit mir ;-) (bezahlen mußt du selbst *g*)

      prototypen: das ist das kapitel im perlbuch was ich ausgelassen habe :))

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Dienstag, 29.Juli.2003, 16:09.
    Re: Danke! war Re: @Perler - Parameter an Sub ....

      > Gewinn: ein Wochenende im Schnee mit mir ;-) 
      

      Ui, das is klasse!! Bringst Du mir dann den 360er bei? ;-)

     Antworten


     
 Liste der Einträge von 36001 bis 36151:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < 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.07s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!