Курс по Raku / Напреднали / Подпрограми / Извикване с двоеточие 🆕 / Exercises / Map с двоеточие
Решение: Map с двоеточие
Ето едно възможно решение на задачата.
Код
say (1..10).map(* * 2).grep: * > 10;🦋 Можете да намерите изходния код във файла colon-map.raku.
Изход
(12 14 16 18 20)Коментари
Само
grep, последното извикване във веригата, може да използва формата с двоеточие. Двоеточието прави* > 10негов аргумент, точно както би направилgrep(* > 10). Тъй като все пак трябва да отпечатаме резултатите,sayсега се използва като функция, а не като метод.Извикването на
mapтрябва да запази скобите си. Ако напишете.map: * * 2вместо това, двоеточието ще погълне.grep(* > 10)като част от аргументите наmapи веригата ще се счупи.