split or sort-function bug?
Hallo zusammen,
der Code
split(concat(for l in thisSchKJ do
let diff := number(l.Wochentag) - 1 - weekday(l.Kursjahrgang.'Beginn Vorkurs');
concat(for m in range(0, AnzWeek + 1) do
if l.Kursjahrgang.'Beginn Vorkurs' + diff + 7 * m >= Kursjahrgang.'Beginn Vorkurs' and
l.Kursjahrgang.'Beginn Vorkurs' + diff + 7 * m <= l.Kursjahrgang.'Ende Vorkurs' then
l.Kursjahrgang.'Beginn Vorkurs' + diff + 7 * m
end
end)
end), ",")
gibt in einem f-Feld die 6 korrekten Datumsangaben als Text-Array aus.
Schalte ich ein sort() um den ganzen Code erscheint die Sortierung nicht korrekt (siehe rechts). Es sieht so aus als ob der 30.1. und 16.1. als ein Arrayeintrag aufgefasst werden. Auffällig auch das Leerzeichen vor dem 11.1.
Kann das jemand nachvollziehen? Mache ich einen Denkfehler? Korrekter Code? Eine Idee für einen Workaround?
Grüße Maurice
9 Antworten
-
Mir fehlen da noch mehr Informationen.
Aber du nutzt 2 Schleifen und die produzieren immer ein Array.
Wie der Inhalt der Arrays aussieht wäre sehr hilfreich.
Hast du dir mal mit debugValueInfo() ausgeben lassen, wie das Ergebnis der ersten und auch der zweiten Schleife aussehen?
Man sollte sich immer ansehen können, was Teile eines Scripts an Informationen produzieren, damit man Rückschlüsse auf Fehler ziehen kann.
Gutes Debugging ist der Schlüssel für gutes Programmieren.
Content aside
- Status Answered
- vor 2 WochenZuletzt aktiv
- 9Antworten
- 64Ansichten
-
2
Folge bereits