Rozdział 21. Makra

Centon (łac. cento — płaszcz zszyty z kawałków materii) to utwór literacki, poemat składający się w całości z cytatów innych utworów.

— Matt Madden

W języku Rust mamy do dyspozycji makra, czyli sposób na rozszerzenie języka wykraczający poza to, co można wykonać wyłącznie za pomocą funkcji. Wiele razy używaliśmy makra assert_eq!, które służy do testowania:

assert_eq!(gcd(6, 10), 2);

Moglibyśmy napisać podobną funkcję generyczną, ale makro assert_eq! potrafi zrobić kilka rzeczy, których funkcja nie umie. Gdy test się nie powiedzie, assert_eq! generuje komunikat o błędzie zawierający nazwę pliku i numer wiersza, w którym asercja się znajduje. Funkcja nie ma dostępu do tych informacji. W przypadku makr jest to możliwe, działają ...

Get Programowanie w języku Rust now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.