Пример «Действие Код»
Файлы:
- Синтаксис языка
- Действия
- Действие Код.перфо
- Действия
Пример программы на языке программирования Перфо:
//Эта программа написана на языке программирования Перфо
//для демонстрации использования действия Код
//Действие Код:
//действие Код работает аналогично действию Список
//однако, не вычисляет значения элементов списка
//это позволяет сохранить код в переменную
//или передать код как фактический параметр в функцию
// --- Тестовая функция ---
//функция должна выполнить переданный ей код, если условие истинно
(Функция (Если2 Условие Выполнить)
//зададим значение переменной которая может быть в выполняемом коде
(Перем МояПеременная "Моя переменная!")
(Если (Условие)
//тут обязательно надо два раза взять в круглые скобки
//((Выполнить))
//или так
(Вычислить Выполнить)
)
)
// -- Тесты ---
//действие Код возвращает список в виде текста, который выводится в консоль
//без изменений
(Вывод "Это код: " (Код Вывод 1 "-2-" +) пс пс)
//действие Код возвращает список, который можно выполнить как код
// ! обратите внимание на двойные скобки,
// ! с помощью которых мы выполнили код
(Вывод "Это код: " ((Код Вывод 1 "-2-" +)) пс пс)
//но можно выполнить код с помощью действия Вычислить
(Вывод "Это код: " (Вычислить (Код Вывод 1 "-2-" +)) пс пс)
//теперь проверим передачу кода в функции
//сначала проверим передачу анонимной функции в тестовую фунцию для выполнения
(Вывод "Если2 : " (Если2 (< 1 2) (Функ() Вывод " 1 < 2 " пс)) )
(Вывод "Если2 : " (Если2 (< 3 2) (Функ() Вывод " 3 < 2 " пс)) )
(Вывод ПС)
//теперь проверим передачу кода в тестовую функцию
//цикл нужен для проверки того, что код при передаче не портится
//и может вызываться несколько раз
(Для(Инд 1 2)
//проверим передачу кода
//обратите внимание, что в этом месте программы не существует переменная МояПеременная,
//но она тут и не вычисляется, она будет вычисляться уже внутри функции Если2.
//(Вывод МояПеременная) - ошибка
(Вывод "Если2 : " (Если2 (< 1 2) (Код Вывод " 1 < 2 " МояПеременная пс)) )
//сохраним код в переменную
(Перем МойКод (Код Вывод " 3 > 2 Тоже работает!" пс))
//проверим передачу кода из переменной
(Вывод "Если2 : " (Если2 (> 3 2) МойКод) )
(Вывод ПС)
)
К началу статьи
Вернуться в раздел:
Примеры по языку Перфо
Перейти в раздел:
Примеры