Пример «Метод Вычислить»
Файлы:
- Глобальный модуль
- Метод Вычислить.пфл
Пример программы на языке программирования Перфолента.Net:
// Этот пример написан на языке программирования Перфолента.Net
// для демонстрации использования метода Вычислить,
// который находится в глобальном модуле стандартной библиотеки
#ТипСборки КонсольноеПриложение
#ИспользоватьСтандартнуюБиблиотеку
ИмпортИмён Промкод.Перфолента.Консоль
// Атрибут ВидноВсем нужен здесь для того, что бы код компилируемый в методе Вычислить
// видел методы этой программы и мог их вызвать!
&ВидноВсем
Программа ТестМетодаВычислить
//---------------------------
// Этот метод мы будем вызывать из кода передаваемого методу Вычислить
&ВидноВсем
Функция Представление(Ф тип Строка) тип Строка
Возврат "Это "+Ф
КонецФункции
//---------------------------
Процедура Старт
Попытка
инт = Новый ИнтервалВремени
ВыводСтроки "Вычислить(""2+2*7"") = "+Вычислить("2+2*7")
ВыводСтроки "Время, млс: "+инт.ВсегоМиллисекунд
инт = Новый ИнтервалВремени
ВыводСтроки "Вычислить(""Лев(2+2*7,1)"") = "+Вычислить("Лев(2+2*7,1)")
ВыводСтроки "Время, млс: "+инт.ВсегоМиллисекунд
А = 100;
Б = 200;
т = ТекущаяУниверсальнаяДатаВМиллисекундах();
Сообщить(Вычислить("А + Б", Новый Структура("А,Б", А, Б)));
Сообщить("Время, млс: "+(ТекущаяУниверсальнаяДатаВМиллисекундах() - т));
//повтор
т = ТекущаяУниверсальнаяДатаВМиллисекундах();
Сообщить(Вычислить("А + Б", Новый Структура("А,Б", А, Б)));
Сообщить("Время, млс: "+(ТекущаяУниверсальнаяДатаВМиллисекундах() - т));
//повтор
т = ТекущаяУниверсальнаяДатаВМиллисекундах();
Сообщить(Вычислить("А + Б", Новый Структура("А,Б", А, Б)));
Сообщить("Время, млс: "+(ТекущаяУниверсальнаяДатаВМиллисекундах() - т));
// 300
А2 = Истина;
Б2 = Ложь;
т = ТекущаяУниверсальнаяДатаВМиллисекундах();
Сообщить(Вычислить("А И Б", Новый Структура("А,Б", А2, Б2)));
Сообщить("Время, млс: "+(ТекущаяУниверсальнаяДатаВМиллисекундах() - т));
// Ложь
А3 = "Это";
Б3 = "работает";
т = ТекущаяУниверсальнаяДатаВМиллисекундах();
Сообщить(Вычислить("А + "" "" + Б", Новый Структура("А,Б", А3, Б3)));
Сообщить("Время, млс: "+(ТекущаяУниверсальнаяДатаВМиллисекундах() - т));
// Что бы использовать типы из этой программы - загрузим её сборку...
инт = Новый ИнтервалВремени
Выражение = "ТестМетодаВычислить.Представление(Лев(2+2*7,1))"
ВыводСтроки "Вычислить(Выражение) = "+Вычислить(Выражение, , {ЭтаПрограмма.ИмяСборки})
ВыводСтроки "Время, млс: "+инт.ВсегоМиллисекунд
// повторно должно вычислиться на много быстрее
инт = Новый ИнтервалВремени
Выражение = "ТестМетодаВычислить.Представление(Лев(2+2*7,1))"
ВыводСтроки "Вычислить(Выражение) = "+Вычислить(Выражение, , {ЭтаПрограмма.ИмяСборки})
ВыводСтроки "Время, млс: "+инт.ВсегоМиллисекунд
Исключение Ош
ВыводСтроки Ош.ОписаниеОшибки()
КонецПопытки
Пауза
КонецПроцедуры
КонецПрограммы
К началу статьи
Вернуться в раздел:
Примеры по стандартной библиотеке
Перейти в раздел:
Примеры