суббота, 23 января 2021 г.

Сделал функцию exec

 Начал реализовывать класс потокового вывода COut и столкнулся с тем, что мне нужно городить код создания переменной этого класса.

Не проще ли реализовать это через функцию exec? -  спросил я самого себя.

Функция exec - это функция, которая в качестве параметра принимает строку и исполняет её как код интерпретатора. Как если бы мы в консоли этот код ввели.

Программа Hello World с помощью функции exec

Я впервые познакомился с концепцией функции exec, когда изучал JavaScript. 

Сперва я, честно говоря, не понял, зачем такая функция нужна - ведь интерпретатор и так исполняет код, который я пишу.

Но через пару дней мне вдруг понадобилось поместить числовой параметр в код как константу, а параметр этот можно было получить только уже после загрузки кода страницы. И тогда я вдруг понял, что могу сделать это с помощью функции exec.

Так же и в данном случае, вместо кода на C++ мне гораздо удобнее иметь возможность выполнить код на языке интерпретатора.

Функция exec оказалась достаточно простой. Мы кладём строку на стек и исполняем код "exec  $" - то есть исполнить код, заданный строкой на вершине стека.

Комментариев нет: