【发布时间】:2018-11-16 05:06:35
【问题描述】:
我想每秒打印当前时间,还想睡10秒非常5秒:
react {
whenever Supply.interval(1) {
say DateTime.now.posix;
}
whenever Supply.interval(5) {
sleep 10;
say 'Sleep Done';
}
whenever signal(SIGINT) {
say "Done.";
done;
}
}
输出不是我想要的:
1542371045
Sleep Done
1542371055
Sleep Done
1542371065
Sleep Done
1542371075
Done.
...
我想要的是这个:
1542371045
1542371046
1542371047
1542371048
1542371049
Sleep Done
1542371059
1542371060
1542371061
1542371062
1542371063
Sleep Done
Done.
不太了解Promise、Supply...关于Raku,这可能吗?
【问题讨论】:
-
是否应该在这 10 秒的休息时间继续进行每秒的时间报告?是否应该每 5 秒触发 10 秒睡眠,所以它报告它每 5 秒睡眠一次?
-
我认为基本的误解是一次只会执行 一个
whenever块。这实际上是记录不足的,所以我将对此进行尝试。 -
@JonathanWorthington 感谢您的关注。 1、是否应该在这10秒的休息时间内继续进行每秒的时间报告?不,持续 10 秒的休息时间,我不希望它继续报告时间。 2、是不是应该每5秒触发10秒睡眠,所以每5秒就报告睡了一次?是的。
-
如果你不想让它在睡眠时报告,它每次睡眠 10 秒,并且你希望它每 5 秒报告它完成睡眠,这意味着在任何时候有两个10 秒睡眠处于活动状态,根本不应该报告时间;我误会了吗?
-
@timotimo 是的,你是对的。睡眠时,它不报告时间。
标签: raku