12
下班同事的问候机器人
我有一个同事在工作,每个星期二和星期四在家工作。在大约8:00 AM,他向我们发送了以下消息: 你好,今天我在家工作 为了减轻他每天待在家里的负担,我们希望为他自动化此任务。 挑战 编写尽可能少的字节的一段代码: 接收当前时间:您的代码可能会接收当前年,月(1-12),月(1-31),小时(0-23)和分钟(0-59)以及星期几的值(您可以选择此数字是从0还是1开始,如果0/1表示星期日,星期一或其他任何一天);另外,您可能会收到一个结构,如Date,DateTime,Calendar或者任何其他时间相关的结构,如果你的语言允许它。yyyyMMddHHmm如果需要,您还可以接收带有日期的字符串,或者包含两个单独的日期和时间字符串,然后是带有星期几的整数。随便吧。 返回两个一致的真实和错误值,指示是否必须将消息发送到工作聊天室。 规则 假定这段代码是定期调用的。尽管如此,确切的周期是无关紧要的。 如果星期几是星期二或星期四,时间是8:00 AM,错误余量为10分钟(包括7:50至8:10),则必须返回真实值。 只有在指定日期的这些小时之间第一次调用代码时,才必须发送真实值。我们不希望机器人连续发送多次相同的消息。您管理此限制的方式完全取决于您。 您的代码可能是重复执行的独立程序,也可能是始终运行的较大代码的一部分。你的选择。 您可以假设在执行代码之间不会重新启动。 您可能会认为日期永远是正确的。 鼓励对代码进行解释,尤其是对用于实现持久性的方法的解释。 例子 (Week starts on Monday: 1, the following invokations will be made in succession) 2018,08,27,08,00,1 = falsey (not Tuesday or Thursday) 2018,08,28,07,45,2 = falsey (out of hours) 2018,08,28,07,55,2 = truthy (first time invoked …