diff --git a/~/Crystal/README.md b/~/Crystal/README.md index 436dc38..a18e047 100644 --- a/~/Crystal/README.md +++ b/~/Crystal/README.md @@ -6,6 +6,7 @@ - [ENV["..."]](env_variable.cr) - Переменные среды - [Colorize](Colorize.cr) - Цветной вывод в консоль - [JSON](json.cr) - Пример работы с JSON +- [Fiber](schedule.cr) - Пример распаралеливания кода и расписания ## Stuff - [`irc_bot.cr`](irc_bot.cr) - Реализация клиента (бота) для IRC diff --git a/~/Crystal/schedule.cr b/~/Crystal/schedule.cr new file mode 100644 index 0000000..d3001eb --- /dev/null +++ b/~/Crystal/schedule.cr @@ -0,0 +1,18 @@ +def every(period : Time::Span, &block : -> T) forall T + spawn do + loop do + block.call + sleep period + end + end +end + +every(2.seconds) { + puts "-@-@-" +} + +every(4.seconds) { + puts "(-.-)Zzz..." +} + +sleep