Введение в функциональный язык программирования Перфо — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
м (Операторы для удобства кодирования)
м (Присваивание переменной - Функции)
Строка 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) пс)
)

Операторы для удобства кодирования

Область ... Конец области

Назначение операторов Область ... Конец области - группировка кода в сворачиваемые области по смыслу. Обозначив кусок кода (сразу несколько функций, кусок кода внутри функции, описания и т.п.) его можно сворачивать/разворачивать. На панели инструментов в редакторе есть кнопка позволяющая быстро перейти к нужной области по её названию.

#Область "Привет, МИР!"
...
#КонецОбласти

ссылки