Open IsaacPD opened 6 years ago
As for the alternative approach my main concern is how much memory it would take up to store all those arrays of lectures ahead of time. And you would additionally loose the functionality you mentioned above so it isn't really convincing me.
OK here's an alternative alternative approach. Don't convert into an array of lectures, convert into an iterator object that you can interact with kind of like an array, but which can be infinite, and which doesn't store all the lectures internally. All the exception stuff could be dealt with internally. And Bar
and Schedule
could use two different copies of this object so that they don't step on each others toes.
This line in Lecture.hx delta += Datetools.days(7);
presents issues with daylight savings as well as making it incompatible with lectures that have schedules in the form of [Week A Tues, Week B Monday,...]
Resolves #2 . See test.json for the new format. "project" - has an int value that represents the total work required to complete the project "homework" - is an array of int arrays with 2 values [size, duration], homeworks of that size will be assigned for duration # of classes [0, x] will "assign" no HW for x days. "exceptions" - is an array of days which there are no lectures or hw assigned. i.e. for [x, y, z] the x class from the 0th class is canceled.