HM-Skript: bestimmtes Element einer Liste ändern
Verfasst: 28.06.2019, 11:06
Hallo,
will man mit einem HomeMatic-Skript ein bestimmtes Element einer Liste ändern, so geht das meines Wissens nach nur mit einer foreach-Schleife. Hier mal ein Beispiel:
Das obige Skript macht aus der Liste "Dies|ist|ein|Test" die neue Liste "Dies|ist|ein|Erfolg".
In anderen Programmiersprachen wäre das mit einem simplen Einzeiler der Form
möglich. Könnte man nicht etwas Ähnliches für die HomeMatic implementieren?
Gruß,
Thorsten
will man mit einem HomeMatic-Skript ein bestimmtes Element einer Liste ändern, so geht das meines Wissens nach nur mit einer foreach-Schleife. Hier mal ein Beispiel:
Code: Alles auswählen
string list = "Dies|ist|ein|Test";
string changeIndex = 3;
integer cnt = 0;
string newList = ""; string element;
foreach(element, list.Split("|")){
if(cnt == changeIndex){element = "Erfolg";}
newList = newList#element#"|";
cnt = cnt + 1;
}
list = newList.Substr(0, newList.Length()-1);
WriteLine(list);
In anderen Programmiersprachen wäre das mit einem simplen Einzeiler der Form
Code: Alles auswählen
string list = "Dies|ist|ein|Test";
string changeIndex = 3;
list.NewValueByIndex(changeIndex) = "Erfolg";
Gruß,
Thorsten