LanX: Boolesche Variablen

Hi

Mal wieder ne stilistische Frage

Bisher hab ich fuer Flags immer $flag=1 oder $flag=0 gesetzt, um später

if ($flag) { ...}

anzuwenden.

1 und 0 find ich unschön, gibt es in Perl nix aussagekräftigeres
wie TRUE und FALSE?

Tschoe Rolf

  1. Hi,

    1 und 0 find ich unschön,

    das ist aber schade für Dich, dann wirst Du mit Perl nämlich nicht glücklich :-)

    gibt es in Perl nix aussagekräftigeres
    wie TRUE und FALSE?

    Das braucht es nicht. Gewisse Inhalte, wie z.B. 0, '' oder undefined, werden als FALSE interpretiert; der Rest ist TRUE.

    Übrigens kennen die meisten SQL-Dialekte ebenfalls kein Boolean, das aber nur nebenbei :-)

    Cheatah

    1. Hi Äffche! *g*

      Könnt ich global

      $TRUE=1;
      $FALSE=0;

      vorbelegen?

      $BEDINGUNG=$TRUE; #liest sich bissl besser ;)

      Bye
      Rolf

      1. Hi,

        Hi Äffche! *g*

        der Schimpi schreibt sich mit Doppel-e ;-)

        Könnt ich global
        $TRUE=1;
        $FALSE=0;
        vorbelegen?

        Klar, aber wozu?

        $BEDINGUNG=$TRUE; #liest sich bissl besser ;)

        if ($BEDINGUNG)
        oder
        if (!$BEDINGUNG)
        liest sich aber auch nicht schlecht - zumal Du dann nicht permanent in falsch if-Blöcke springst, weil die Zuweisung von $TRUE zu $BEDINGUNG true war, wenn Du das zweite "=" vergisst ;-)

        Cheatah

        1. Hi,

          Hi Äffche! *g*

          der Schimpi schreibt sich mit Doppel-e ;-)

          Ich weiss Du Raubkatze! *g*

          Könnt ich global
          $TRUE=1;
          $FALSE=0;
          vorbelegen?

          Klar, aber wozu?

          ich mein
          $BEDINGUNG=$TRUE

          statt
          $BEDINGUNG=1;

          if ($BEDINGUNG)
          oder
          if (!$BEDINGUNG)

          will ich beibehalten

          Kann man die vorbelegten Variablen elegant erweitern?

          Tschoe Rolf

          1. Hi,

            Hi Äffche! *g*
            der Schimpi schreibt sich mit Doppel-e ;-)
            Ich weiss Du Raubkatze! *g*

            *groaaaaaarrrrrr* :-)

            Klar, aber wozu?
            ich mein

            Hab ich schon verstanden. Aber wozu?

            $BEDINGUNG=$TRUE

            Das ist immer noch eine Zuweisung, kein Vergleich :-)

            statt
            $BEDINGUNG=1;

            $BEDINGUNG
            ohne Prüfung auf 1 würde voll und ganz reichen.

            will ich beibehalten

            Was?

            Kann man die vorbelegten Variablen elegant erweitern?

            Öhm... welche? Meinst Du Konstanten oder so?

            Ehrlich: Ich sehe keinen Grund für eine solche Vorgehensweise. Auch nicht wegen besserer Lesbarkeit oder so.

            Cheatah

            1. Hi

              Du hast mich immernoch nicht, oder wirst du gerade deinem Namen gerecht,
              und veräppelst mich? ;)

              *groaaaaaarrrrrr* :-)

              Nene! Schnurr! :)

              Wenn ich

              if($BEDINGUNG)

              abfrage muss ich irgendwann vorher

              $BEDINGUNG

              setzen.

              und

              $BEDINGUNG=0 oder 1 find ich etwas unleserlich!

              Allerdings nach all unseren Diskussionen hat es sich mir so ins Hirn
              gebrannt!

              Ich dachte es gäbe vielleicht ne sauberere variante dafür!

              Bye Rolf

              1. Hi,

                Du hast mich immernoch nicht, oder wirst du gerade deinem Namen gerecht,
                und veräppelst mich? ;)

                nicht wirklich, wirklich nicht :-)

                *groaaaaaarrrrrr* :-)
                Nene! Schnurr! :)

                Sitz! :-)

                Wenn ich
                if($BEDINGUNG)
                abfrage muss ich irgendwann vorher
                $BEDINGUNG
                setzen.

                Ach je, ich hielt das die ganze Zeit für einen Platzhalter...

                Nun, was hälst Du von "my $BEDINGUNG = ($x == $y);"?

                $BEDINGUNG=0 oder 1 find ich etwas unleserlich!

                Nun, ich finde bereits $BEDINGUNG sehr unleserlich (s. auch perldoc perlstyle), und frage mich, warum Du unbedingt eine Variable verwenden möchtest.

                Ich dachte es gäbe vielleicht ne sauberere variante dafür!

                Ja - verzichte auf die Variable ;-)

                Cheatah

                1. Hi

                  Nun, ich finde bereits $BEDINGUNG sehr unleserlich (s. auch perldoc perlstyle),

                  OK naechstesmal wieder in kleinschrift!

                  und frage mich, warum Du unbedingt eine Variable verwenden möchtest.

                  Weil ich nen Zeilen-Parser als Statemaschine realisiere,
                  da sind einige Zustaende die ich irgendwann setze und spaeter abfrage

                  Ja - verzichte auf die Variable ;-)

                  Wird kaum gehen!

                  Bye Rolf

  2. Grüssi,

    Sorry wenn ich euch zwei da störe, aber nur mal so ne Frage: Wenns dir nur um die Lesbarkeit geht, was spricht dann gegen

    use constant TRUE  => 1;
    use constant FALSE => 0;

    $BEDINGUNG = FALSE;

    Oder hab ich da den Sinn irgendwie nicht richtig rauslesen können ?

    lg regenfeld

    1. Hi regenfeld

      use constant TRUE  => 1;
      use constant FALSE => 0;

      $BEDINGUNG = FALSE;

      Oder hab ich da den Sinn irgendwie nicht richtig rauslesen können ?

      Doch genau sowas würd ich gern machen!

      Danke!

      Tschoe Rolf