Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Паралелно програмиране / Обещания / Exercises / Изчакайте няколко

Решение: Изчакайте няколко

Ето едно възможно решение на задачата.

Код

my @words = <apple pear plum>;
my @jobs = @words.map(-> $w { start { $w.uc } });
say await @jobs;

🦋 Намерете програмата във файла await-many.raku.

Изход

(APPLE PEAR PLUM)

Коментари

  1. @words.map(-> $w { start { $w.uc } }) превръща всяка дума в собствено обещание, така че и трите се преобразуват в главни букви паралелно. Острият блок именува думата $w, така че всяко обещание улавя точно своята.

  2. await @jobs изчаква целия списък и връща резултатите в първоначалния им ред, което дава (APPLE PEAR PLUM).

Навигация в курса

Изчакайте няколко   |   Изпълнено или нарушено