Anzeige:
Ergebnis 1 bis 6 von 6

Thema: unless () vs. if !()

  1. #1
    Registrierter Benutzer
    Registriert seit
    28.05.2003
    Beiträge
    161

    unless () vs. if !()

    Kleines Beispiel:

    Code:
    unless ($string =~ /$matchme/) {
     &mach_wat;
    }
    
    if ($string !~ /$matchme/) {
     &mach_wat;
    }
    oder gar:

    Code:
    if (!($string =~ /$matchme/)) {
     &ihr_wisst_schon;
    }
    Ich weiss, ich koennte mir jetzt ein paar Skripte schreiben, die die jeweilige Operation zwei Billionen mal durchfuehren, um zu testen, was effizienter ist, aber ich dachte, ich frage erstmal, was die Erfahrungen so sind, bevor ich meine CPU grillen gehe.

    Was meint Ihr? Ist unless effizient?

    Danke,

    Samsara

    Edit: Der Vollstaendigkeit halber haette ich vielleicht noch folgende Variante einfuehren sollen, auch wenn sie mir recht doof vorkommt:

    Code:
    if ($string =~ /$matchme/) {
    } else {
     &tu_etwas;
    }
    Geändert von samsara (06-09-2003 um 23:48 Uhr)
    Interface design
    whohas - wer hat's im Repository? Debian? Fedora? Gentoo? ...?
    Hardware compatibility list - das Original mit bereits 3000 Einträgen
    It ain't a hack if it ain't dirty.

  2. #2
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    Ich gehe eigentlich davon aus dass das intern dasselbe ist. Wäre ja auch Overhead if und unless separat je einmal zu implementieren.

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

  3. #3
    Registrierter Benutzer Avatar von pitu
    Registriert seit
    07.06.2002
    Ort
    Nürnberg
    Beiträge
    142
    Ja und nein.

    Es ist tatsaechlich nur ein umgekehrtes if. oder uebersetzt, ein "ausser"

    Es macht aber schon sinn, es zu verwenden.

    Die if anweisung wird normalerweise benutzt, etwas zu tun, wenn eine bedingung zutrifft.

    Die unless anweisung wird benutzt, um aufzuhoeren, wenn eine bedingung zutrifft.

    Dadurch erhoeht sich dann auch die uebersicht im code. Da du sofort siehst, was du gerade programmiert hast, etwas tu, oder etwas aufhoeren.

    gruss,
    pitu
    11 Fehler in Windows, 88 Loesungen, 0 funktionieren.

    Dieser Beitrag steht unter der GNU Free Documentation License.

  4. #4
    Registrierter Benutzer Avatar von BLUESCREEN3D
    Registriert seit
    08.11.2002
    Beiträge
    665
    Ich würde immer if benutzen...
    Habe von unless bis jetzt noch nichtmal was gehört, scheint also nicht gerade der Standardbefehl zu sein und wenn es den nicht in allen Programmiersprachen gibt, dann benutze ich den nicht...

  5. #5
    Registrierter Benutzer
    Registriert seit
    24.12.2001
    Ort
    anywhere before EOF
    Beiträge
    236
    Es bringt eigentlch nur Geschwindigkeit beim Schreiben des Programmes, wenn man gerade die richtige logische Reihenfolge für ne Bedingung mit unless im Kopf hat muss man nicht zuerst auf if negieren.
    Auch wenn es natürlich das ganze zugegebne nicht "international" (also z. B. in "C Land"...) lesbar hält...
    chmod -R +t /*

  6. #6
    Registrierter Benutzer Avatar von peschmae
    Registriert seit
    14.03.2002
    Ort
    Schweizland
    Beiträge
    4.549
    ja, aber du negierst recht schnell automatisch auf if.
    Werden die Bedingungen komplexer musst du eh erst mal hirnen - auf ein ! mehr oder weniger kommts da dann auch nicht mehr drauf an

    MfG Peschmä
    The greatest trick the Devil ever pulled was convincing the world he didn't exist. -- The Usual Suspects (1995)
    Hey, I feel their pain. It's irritating as hell when people act like they have rights. The great old one (2006)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •