jmaus hat geschrieben:"It's not a bug, it's a feature"
Es ist ein Bug.
Die Skriptdoku sagt:
integer time.Weekday(); Ermittelt die Nummer des Wochentags
jmaus hat geschrieben:BadenPower hat geschrieben:und in 3 Tagen ist es der 64. Tag der Woche.
Code: Alles auswählen
time.Weekday() gibt wie folgt die Wochentagwerte zurück:
[code]
MONDAY = 1
TUESDAY = 2
WEDNESDAY = 4
THURSDAY = 8
FRIDAY = 16
SATURDAY = 32
SUNDAY = 64
D.h. es ist ein bit-array. Ist leider nur nicht in der Skriptdokumentation dokumentiert.
Und genau dies ist der Fehler.
Bei der RegaSkript-Methode
.Weekdays() ist diese Art der Ausgabe hingegen richtig, da dort die Tage aufsummiert werden müssen und ein Rückgabewert von 7 eben bedeutet, dass die Einstellung für Montag, Dienstag und Mittwoch gilt.
[EDIT]
Obwohl, wenn ich es mir richtig überlege kann ich das auch als Feature gelten lassen.
So kann man im RegaSkript per einfachem Bitvergleich feststellen, ob ein bestimmter Wochentag in der Zeitmoduleinstellung enthalten ist.
Vielleicht war dies auch das Ansinnen des Programmierers, welcher diese Funktion in dieser Form eingebaut hat.
[/EDIT]
.