Guten Morgen,
da laut Doku die Möglichkeit mit "cd.itempfad" auf den Wert eines Items zuzugreifen eine Alternative zu "cd.itempfad()" darstellt, habe ich diese in Logiken auch immer genutzt.
Das geht bei Zahlen gut, bei Zeichenketten gibt es aber Probleme.
Getestet mit Items vom Typ "num" (Nummer) und "str" (Zeichenkette)
Die Ergebnisse der Zuweisungen mit beiden Schreibweisen sind:
Also die Zuweisung von zwei String-Items ohne "()" schlägt fehl.
Bei String-Formatierungen geht es gar nicht ohne die Klammer, auch nicht bei Nummer-Items:
Woran liegt das, bzw. wäre es nicht besser generell "cd.itempfad()" zu nutzen?
Viele Grüße,
Michael
da laut Doku die Möglichkeit mit "cd.itempfad" auf den Wert eines Items zuzugreifen eine Alternative zu "cd.itempfad()" darstellt, habe ich diese in Logiken auch immer genutzt.
Das geht bei Zahlen gut, bei Zeichenketten gibt es aber Probleme.
Getestet mit Items vom Typ "num" (Nummer) und "str" (Zeichenkette)
Code:
cd.num_item1 = 1 cd.num_item2 = 2 cd.str_item1 = "Hello" cd.str_item2 = "World"
Code:
cd.num_item2 = cd.num_item1 // -> cd.num_item2 = 1 cd.num_item2 = cd.num_item1() // -> cd.num_item2 = 1 cd.str_item2 = cd.str_item1 // -> cd.str_item2 = "str_item1", also wirklich der Name des zugewiesenen Items ohne "cd." cd.str_item2 = cd.str_item1() // -> cd.str_item2 = "Hello"
Bei String-Formatierungen geht es gar nicht ohne die Klammer, auch nicht bei Nummer-Items:
Code:
cd.str_item2 = "{}".format(cd.num_item1) // -> cd.str_item2 = "num_item1" cd.str_item2 = "{}".format(cd.num_item1()) // -> cd.str_item2 = "1" cd.str_item2 = "{}".format(cd.str_item1) // -> cd.str_item2 = "str_item1" cd.str_item2 = "{}".format(cd.str_item1()) // -> cd.str_item2 = "Hello"
Woran liegt das, bzw. wäre es nicht besser generell "cd.itempfad()" zu nutzen?
Viele Grüße,
Michael
Kommentar