Перфо - Списки — различия между версиями

Материал из ТХАБ.РФ
Перейти к: навигация, поиск
м
м
Строка 1: Строка 1:
 
'''Перфо. Списки''' (из файла примера)
 
'''Перфо. Списки''' (из файла примера)
 
* [[Перфо. Пример 1]]
 
* [[Перфо. Пример 2]]
 
* [[Перфо. Пример 3]]
 
  
 
В этом примере использованы следующие команды для работы со списком:
 
В этом примере использованы следующие команды для работы со списком:
Строка 117: Строка 113:
 
  (Вывод "Первый элемент коллекции: " (ПЭЛ кол) пс)
 
  (Вывод "Первый элемент коллекции: " (ПЭЛ кол) пс)
 
  (Вывод "Второй элемент коллекции: " (ПЭЛ кол 1) пс)
 
  (Вывод "Второй элемент коллекции: " (ПЭЛ кол 1) пс)
 +
 +
== Перфо. Примеры ==
 +
* [[Перфо. Пример 1]]
 +
* [[Перфо. Пример 2]]
 +
* [[Перфо. Пример 3]]
 +
* [[Перфо - Списки]]
 +
* [[Перфо - ПоВсем]]
 +
* [[Перфо - ПоКаждому]]
  
 
[[Категория:Перфо.NET]]
 
[[Категория:Перфо.NET]]

Версия 18:39, 27 октября 2020

Перфо. Списки (из файла примера)

В этом примере использованы следующие команды для работы со списком:

(Список Элемент1 .. ЭлементН) - создание списка
(Длина Список) - количество элементов списка (работает так же для строк и коллекций)
(ПЭЛ Список Индекс) - получить значение элемента (работает так же для строк, массивов и индексируемых коллекций)
(УЭЛ Список Значение Индекс) - установить значение элемента (работает так же для массивов и индексируемых коллекций)
(ОЭЛ Список) - возвращает список остальных элементов кроме первого (работает так же с массивами и индексируемыми коллекциями)
(Лев Список КоличествоЭлементов) - отрезать от списка слева указанное количество элементов 
(Прав Список КоличествоЭлементов) - отрезать от списка справа указанное количество элементов 
(Сред Список НомерНачальногоЭлемента КоличествоЭлементов) - отрезать от списка указанное количество элементов начиная с указанного номера.

создадим простой список

(Перем спис1 (Список 1 2 3 4 5))
(Вывод спис1 пс)

создадим список с вычисляемыми элементами

(Перем спис2 (Список (+ 1 2) (- 3 4 5)))
(Вывод спис2 пс)

проверим, что это список

(Вывод "Список? " (Список? спис1) пс)

длина списка

(Вывод "длина списка: " (Длина спис1) пс)

выводим первый элемент списка

(Вывод "первый элемент: " (ПЭЛ спис1) пс)

выводим остальные элементы списка (это будет новый список без первого элемента)

(Вывод "остальные элементы: " (ОЭЛ спис1) пс)

в языке Перфо со списками могут работать функции Лев, Прав и Сред, так же как они работают со строками

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

отрежем 2 элемента слева

(Вывод "Лев 2: " (Лев спис1 2) пс)

отрежем слева ноль элементов

(Вывод "Лев 0: " (Лев спис1 0) пс)

отрежем слева больше, чем есть в списке

(Вывод "Лев 20: " (Лев спис1 20) пс)

отрежем 2 элемента справа

(Вывод "Прав 2: " (Прав спис1 2) пс)

отрежем справа ноль элементов

(Вывод "Прав 0: " (Прав спис1 0) пс)

отрежем справа больше, чем есть в списке

(Вывод "Прав 20: " (Прав спис1 20) пс)

В языке Перфо функция ПЭЛ может работать не только со списками но и со строками, массивами, а так же с коллекциями имеющими свойство Item. Причем, третьим операндом может быть указан индекс получаемого элемента, который по умолчанию равен нулю...

проверим работу со списками

(Вывод "Второй элмент списка (Список 1 2 3): " (ПЭЛ (Список 1 2 3) 1) пс)

проверим работу со строками

(Вывод "Третий символ из строки АБВГД: " (ПЭЛ "АБВГД" 2) пс)

проверим работу с массивами

(Перем мас (Массив 5 Строка))
(мас.Установить "Строка с индексом 2." 2)
(Вывод "Значение элемента массива с индексом 2: " (ПЭЛ мас 2) пс)

проверим работу с коллекциями

(Перем кол (Новый Массив))
(кол.Добавить "А")
(кол.Добавить "Б")
(кол.Добавить "В")
(Вывод "Второй элемент коллекции: " (ПЭЛ кол 1) пс)

функция УЭЛ может установить значение элемента в списке, в массиве или в индексируемой коллекции

проверим работу со списками

(Перем спис4 (Список 1 2 3))
(УЭЛ спис4 100) 
(УЭЛ спис4 200 1)
(УЭЛ спис4 300 2)
(Вывод "Спис4: " спис4 пс)

проверим работу с массивами

(УЭЛ мас "100") (УЭЛ мас "300" 2) (Вывод "мас: " (мас.Представление) пс)

проверим работу с коллекциями

(УЭЛ кол "100")
(УЭЛ кол "200" 1)
(Вывод "Первый элемент коллекции: " (ПЭЛ кол) пс)
(Вывод "Второй элемент коллекции: " (ПЭЛ кол 1) пс)

Перфо. Примеры