FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: PeMue am 25 September 2013, 11:54:35

Titel: Welche Anführungszeichen ...
Beitrag von: PeMue am 25 September 2013, 11:54:35
Hallo zusammen,

vermutlich eine schon oft gestellte Frage (ich habe aber leider mit der Suchfunktion nichts gefunden):

Im Wiki (//www.fhemwiki.de/wiki/Sunset_Sunrise) wird sunrise so
Zitatdefine AussenlampeAus1 at *{sunrise(0,"05:00","07:30")} set EG.Diele.Aussenlampe off
verwendet (doppeltes quote).
Hier im Forum (http://forum.fhem.de/index.php?topic=14797.msg95128#msg95128) wird es so
Zitatfhem("define OG_Zimmer_Rollo_hoch at {sunrise(1800,'08:00','09:00')} set OG_Zimmer_Rollo off");
verwendet (einfaches quote).

Vermutlich wird beides funktionieren, aber mich interessiert, was denn richtig ist.
Irgendwo habe ich gelesen, dass Leerzeichen stören ...

Danke + Gruß

PeMue
Titel: Aw: Welche Anführungszeichen ...
Beitrag von: UliM am 25 September 2013, 12:49:21
Hiho,
einen Unterschied gibt es nur auf Perl-Ebene.

Beispiel:
my $wert=5;
Log 1, "$wert";  #Ausgabe: 5
Log 1, '$wert';  #Ausgabe: $wert

Oder verbal ausgedrückt: Text in einfachen Anführungszeichen wird nicht interpretiert, der in doppelten Anführungszeichen sehr wohl.

Gruß, Uli
Titel: Aw: Welche Anführungszeichen ...
Beitrag von: Dirk am 25 September 2013, 13:10:17
Und daher, dass Text in einfachen Anführungszeichen nicht interpretiert wird, wird dieser Code auch schneller ausgeführt.
Aus Performance-Sicht ist diese Version also ggf. sinnvoller

einLog 1, 'Hallo: ' . $wert;  #Ausgabe: 5 ist auch schneller als ein
Log 1, "Hallo $wert";      #Ausgabe: 5

Gruß
Dirk