Funkcjonalne cechy języka: Iteratory i domknięcia
Projekt Rusta czerpie inspirację z wielu istniejących języków i technik, a jednym z istotnych wpływów jest programowanie funkcyjne. Programowanie w stylu funkcyjnym często obejmuje używanie funkcji jako wartości, przekazywanie ich w argumentach, zwracanie ich z innych funkcji, przypisywanie ich do zmiennych do późniejszego wykonania i tak dalej.
W tym rozdziale nie będziemy debatować nad tym, czym jest lub nie jest programowanie funkcyjne, ale zamiast tego omówimy niektóre cechy Rusta, które są podobne do cech w wielu językach często określanych jako funkcyjne.
Bardziej szczegółowo omówimy:
- Domknięcia, konstrukcje podobne do funkcji, które można przechowywać w zmiennej
- Iteratory, sposób przetwarzania serii elementów
- Jak używać domknięć i iteratorów do ulepszenia projektu I/O z Rozdziału 12
- Wydajność domknięć i iteratorów (spoiler: są szybsze, niż mogłoby się wydawać!)
Omówiliśmy już inne cechy Rusta, takie jak dopasowywanie wzorców i wyliczenia, które również są inspirowane stylem funkcyjnym. Ponieważ opanowanie domknięć i iteratorów jest ważną częścią pisania szybkiego, idiomatycznego kodu w Rust, poświęcimy im cały ten rozdział.