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

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
м (Присваивание переменной - Функции)
м (Операторы для удобства кодирования)
Строка 49: Строка 49:
 
  )
 
  )
  
== Операторы для удобства кодирования ==
+
== Препроцессор ==
 
=== Область ... Конец области ===
 
=== Область ... Конец области ===
Назначение операторов '''Область ... Конец области''' - группировка кода в сворачиваемые области по смыслу. Обозначив кусок кода (сразу '''несколько''' функций, кусок кода внутри функции, описания и т.п.) его можно сворачивать/разворачивать. На панели инструментов в редакторе есть кнопка позволяющая быстро перейти к нужной области по её названию.
+
Назначение операторов '''Область ... Конец области''' - группировка кода в сворачиваемые области по смыслу. Обозначив кусок кода (сразу '''несколько''' функций, кусок кода внутри функции, описания и т.п.) его можно сворачивать/разворачивать. На панели инструментов в редакторе есть кнопка позволяющая быстро перейти к нужной области по её названию. На исполнение программы никак не влияют.
  #Область "Привет, МИР!"
+
  #Область "Область данных"
 
  ...
 
  ...
 
  #КонецОбласти
 
  #КонецОбласти

Версия 19:47, 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) пс)
)

Препроцессор

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

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

#Область "Область данных"
...
#КонецОбласти

ссылки