Метапрограммирование — это процесс написания кода, который работает с кодом, а не с данными. Это включает в себя проверку и изменение программы во время ее выполнения с использованием конструкций, предоставляемых языком.
Например:
Повторное открытие классов: добавьте метода в родной класс Array.