Курс Raku / Функційне, конкурентне, реактивне та веб-програмування / Функційне програмування

Функції вищого порядку

У Raku підпрограма є звичайним значенням: її можна зберегти у змінній, передати іншій підпрограмі та повернути як результат. Підпрограму, що приймає або повертає іншу підпрограму, називають функцією вищого порядку, і саме вона є серцем функційного програмування.

Ви вже користувалися функціями вищого порядку, не називаючи їх так: map, grep та sort усі приймають блок коду як аргумент. Цей розділ показує, як писати власні.

Ці методи, що приймають блок, є також природним місцем для форми виклику з двокрапкою, яка дозволяє опустити дужки — (1..10).grep: * %% 2 замість (1..10).grep(* %% 2). Її представлено у Виклику з двокрапкою, а скорочення *, яке вона використовує, — це зірочка Whatever.

Теми цього розділу

Практика

Виконайте 2 тести за змістом цього розділу.

Вправи

У цьому розділі 3 вправи. Перш ніж братися до практики, вивчіть усі теми розділу.

  1. Застосуйте двічі
  2. Створіть множник
  3. Фільтрація блоком

Навігація курсом

Розв’язання: Трикутне число   |   Передавання підпрограм