Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS-Funktionsdoku, kleine Ungereimtheit

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    LBS-Funktionsdoku, kleine Ungereimtheit

    Hallo Christian,

    in der Dokumentation der LBS-Funktionen ist mir eine kleine Ungereimtheit aufgefallen. Dort ist der Funktionsaufruf zu setState wie folgt beschrieben:
    Code:
    logic_setState($id,$status,[$delay],[$interval])
    Die Doku dazu verstehe ich aber so, als dass $intervall eine Option zu $delay ist. Sollte das somit nicht eigentlich wie folgt aussehen?
    Code:
    logic_setState($id,$status[COLOR=#FF0000][B][,[/B][/COLOR]$delay[COLOR=#FF0000][B][,[/B][/COLOR]$interval[COLOR=#FF0000][B]]][/B][/COLOR])
    Genaugenommen gehören ja auch die Kommata bei optionalen Funktionen mit in die eckigen Klammern. Oder geht in PHP sowas wie das hier?
    Code:
    function foo($a, $b, $c){...}
    foo(23,,42);
    Kind regards,
    Yves

    #2
    Absolut korrekt - nur dachte ich, dass diese "Schreibweise" einfacher zu lesen ist als verschachtelte Klammern... Die Klammern sollen ja nur andeuten, dass diese Angaben optional sind, während $id und $status eben verpflichtend sind - der Rest ergibt sich (hoffentlich) aus der Erläuterung.
    EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

    Kommentar


      #3
      Hm ok, ist soweit nachvollziehbar. Aber die verschachtelten Klammern haben einen konkreten Sinn und damit würde ich es vermeiden, nur für die einfache Lesbarkeit auf die korrekte Darstellungsweise zu verzichten. Die Klammerung hat einen syntaktischen Grund und wer sich damit beschäftigt, wird diese Darstellung auch verstehen. Somit erklärt die Dokumentation im aktuellen Zustand etwas anderes, als die Funktionsdeklaration aussagt. Das ist in meinen Augen eher verwirrend als erklärend...
      Kind regards,
      Yves

      Kommentar


        #4
        Naja... Aus dem Kontext heraus ist's schon ziemlich eindeutig, dass sich $interval auf $delay bezieht - im Umkehrschluss bedeutet dies also, dass es $interval ohne $delay nicht geben kann Aber wenn's Dir so wichtig ist, werde ich die Klammern normkonform setzen und alle Unklarheiten gehören der Vergangenheit an...

        $interval (optional):
        • false: $delay nur einmalig(!) anwenden (nach dem verzögerten Aufruf wird der LBS weiterhin zyklisch aufgerufen, jedoch mit kleinstmöglicher Verzögerung)
        • true: $delay immer wieder anwenden (nach dem verzögerten Aufruf wird der LBS immer wieder mit der Verzögerung $delay aufgerufen)
        • Hinweis: wird $interval nicht angegeben, wird $delay nur einmalig angewendet (entspricht $interval=false)

        EDOMI - Intelligente Steuerung und Visualisierung KNX-basierter Elektro-Installationen (http://www.edomi.de)

        Kommentar


          #5
          Meine Frau erwähnt an solchen Stellen immer wieder die Bezeichnung Perfektionist oder so ähnlich...

          Vielen Dank!
          Kind regards,
          Yves

          Kommentar


            #6
            Tetrapilotomie

            Kommentar

            Lädt...
            X