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

Функции от по-висок ред

В Raku подпрограмата е обикновена стойност: можете да я съхраните в променлива, да я подадете на друга подпрограма и да я върнете като резултат. Подпрограма, която приема или връща друга подпрограма, се нарича функция от по-висок ред и е сърцето на функционалното програмиране.

Вие вече използвахте функции от по-висок ред, без да ги наричате така: map, grep и sort приемат блок код като аргумент. Този раздел показва как да напишете свои собствени.

Тези методи, приемащи блок, са и естественото място за формата извикване с двоеточие, която позволява да пропуснете скобите — (1..10).grep: * %% 2 вместо (1..10).grep(* %% 2). Тя е въведена в Извикване с двоеточие, а скъсяването *, което тя използва, е звездата Whatever.

Теми в този раздел

Практика

Направете 2 теста върху съдържанието на този раздел.

Упражнения

Този раздел съдържа 3 упражнения. Разгледайте всички теми в раздела, преди да се захванете с практиката.

  1. Приложете два пъти
  2. Създайте умножител
  3. Филтриране с блок

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

Решение: Триъгълно число   |   Подаване на подпрограми