Введение в функциональный язык программирования Перфо — различия между версиями
Админ (обсуждение | вклад) м (→Операторы для удобства кодирования) |
Админ (обсуждение | вклад) м (→Присваивание переменной - Функции) |
||
Строка 15: | Строка 15: | ||
(Перем НаСчету 500) // Объявляется переменная и ей присваивается значение 500 | (Перем НаСчету 500) // Объявляется переменная и ей присваивается значение 500 | ||
+ | |||
+ | == Анонимные (лямбда) - функции == | ||
+ | Используем лямбду без параметров: | ||
+ | |||
+ | (перем ЛЯМ (функ () "значение лямбды")) | ||
+ | (Вывод "Результат (лям) = " (лям) ПС) | ||
+ | |||
+ | Используем лямбду с двумя параметрами: | ||
+ | |||
+ | (перем ЛЯМ2 (функ (х у) (+ х у))) | ||
+ | (Вывод "Результат (лям2 3 5) = " (лям2 3 5) ПС) | ||
+ | |||
+ | == Область видимости == | ||
+ | Проверим область видимости | ||
+ | |||
+ | (функция (ФА Б) (+ (* Б Б) 25)) | ||
+ | (функция (ФД Б) (+ (ФА (+ Б 1)) (ФА (- Б 1)))) | ||
+ | (Вывод "(ФА 5)=" (ФА 5) пс) | ||
+ | (Вывод "(ФБ 10)=" (ФА 10) пс) | ||
=== Присваивание переменной - Функции === | === Присваивание переменной - Функции === |
Версия 19:45, 2 сентября 2020
пока более полое описание синтаксиса cмотрие в Учебник языка Перфо для школьников
Содержание
Синтаксис
Комментарий
// - комментарии
Пауза
(Пауза)
Имена переменных регистронезависимые, тип переменных определяется компилятором
(Перем НаСчету 500) // Объявляется переменная и ей присваивается значение 500
Анонимные (лямбда) - функции
Используем лямбду без параметров:
(перем ЛЯМ (функ () "значение лямбды")) (Вывод "Результат (лям) = " (лям) ПС)
Используем лямбду с двумя параметрами:
(перем ЛЯМ2 (функ (х у) (+ х у))) (Вывод "Результат (лям2 3 5) = " (лям2 3 5) ПС)
Область видимости
Проверим область видимости
(функция (ФА Б) (+ (* Б Б) 25)) (функция (ФД Б) (+ (ФА (+ Б 1)) (ФА (- Б 1)))) (Вывод "(ФА 5)=" (ФА 5) пс) (Вывод "(ФБ 10)=" (ФА 10) пс)
Присваивание переменной - Функции
Запомним встроенную функцию * в переменную УМН
(Перем УМН *) (Вывод "(УМН 2 3 4)=" (УМН 2 3 4) пс)
Окружение
Создадим новое окружение и проверим, что переменные созданные в нем не доступны снаружи:
(Окружение (Перем ВнутрПерем1 1) (Перем ВнутрПерем2 2) (Вывод "В окружении (+ ВнутрПерем1 ВнутрПерем2) = " (+ ВнутрПерем1 ВнутрПерем2) пс) )
Операторы для удобства кодирования
Область ... Конец области
Назначение операторов Область ... Конец области - группировка кода в сворачиваемые области по смыслу. Обозначив кусок кода (сразу несколько функций, кусок кода внутри функции, описания и т.п.) его можно сворачивать/разворачивать. На панели инструментов в редакторе есть кнопка позволяющая быстро перейти к нужной области по её названию.
#Область "Привет, МИР!" ... #КонецОбласти