Курс по Raku / Функционално, паралелно, реактивно и уеб програмиране / Функционално програмиране / Мързеливи и безкрайни редици
Операторът за редица
Операторът за последователност ... строи списък от
начален образец до крайна стойност. Дайте му първите няколко елемента и
крайната точка и той сам разбира как продължава редицата:
say (2, 4 ... 10); # (2 4 6 8 10)От 2, 4 той заключава „добавяй по две всеки път“ и
продължава, докато стигне 10. Стъпката може да е и
надолу:
say (10, 8 ... 2); # (10 8 6 4 2)Ако елементите растат чрез умножение, а не чрез събиране, операторът забелязва и това:
say (1, 2, 4 ... 64); # (1 2 4 8 16 32 64)Тук всеки член е двойно по-голям от предишния, така че последователността е геометрична.
Когато правилото е по-сложно, отколкото операторът може да отгатне, можете да го зададете изрично като затваряне от предишните елементи. Например изрично правило „добави стъпката“:
say (1, * + 2 ... 9); # (1 3 5 7 9)Блокът * + 2 казва как да се получи следващият елемент
от текущия. С това ... може да изрази всяка
последователност, която можете да опишете с правило.
Практика
Направете 1 тест върху съдържанието на тази тема.
Навигация в курса
← Мързеливи и безкрайни редици | Тест — Операторът за редица →
💪 Или преминете направо към упражненията в този
раздел.