Jump to content

МВЭЛ

МВЭЛ
Разработчик(и) Майк Брок и различные участники
Стабильная версия
2.3.0 / 15 июня 2016 г. ( 15.06.2016 )
Репозиторий
Написано в Ява
Операционная система Кросс-платформенный
Тип Язык выражений (EL)
Лицензия Лицензия Апач
Веб-сайт https://github.com/mvel/mvel

Язык выражений MVFLEX (MVEL) — это гибридный динамически/статически типизированный встраиваемый язык выражений и среда выполнения для платформы Java . Первоначально проект начинался как служебный язык для платформы приложений, а теперь разрабатывается полностью независимо.

MVEL обычно используется для предоставления базовой логики конечным пользователям и программистам посредством конфигурации, такой как XML- файлы или аннотации . Его также можно использовать для анализа простых JavaBean выражений .

Среда выполнения позволяет выполнять выражения MVEL либо интерпретативно, либо посредством процесса предварительной компиляции с поддержкой генерации байт-кода во время выполнения для устранения накладных расходов.

Поскольку MVEL предназначен для расширения программного обеспечения на основе Java, он заимствует большую часть своего синтаксиса непосредственно из языка программирования Java с некоторыми незначительными отличиями и дополнительными возможностями. Например: в качестве побочного эффекта модели типизации MVEL, которая рассматривает ссылки на классы и методы как обычные переменные, можно использовать указатели как на классы, так и на функции (но только для статических методов).

     millis = System.currentTimeMillis;

     // get millis
     time = millis();

MVEL также позволяет представлять коллекции в виде складок (или проекций) в синтаксисе, подобном Lisp .

    namesOfParents = (parent.name in (children in employees));

Привет, мир, пример

[ редактировать ]
     System.out.println("Hello, world!");

MVEL опирается на пространства имен и классы Java, но не имеет возможности объявлять пространства имен или классы.

Пример быстрой сортировки

[ редактировать ]

Вот пример алгоритма быстрой сортировки, реализованный в MVEL 2.0, демонстрирующий возможности языка сценариев.

import java.util.*;

// the main quicksort algorithm
def quicksort(list) {
    if (list.size() <= 1) {
         list;
    }
    else {
         pivot = list[0];
         concat(quicksort(($ in list if $ < pivot)), pivot, quicksort(($ in list if $ > pivot)));
    }
}

// define method to concatenate lists.
def concat(list1, pivot, list2) {
    concatList = new ArrayList(list1);
    concatList.add(pivot);
    concatList.addAll(list2);
    concatList;
}

// create a list to sort
list = [5,2,4,1,18,10,15,1,0];

// sort it!
quicksort(list);

См. также

[ редактировать ]
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 642a30a362e3e8c6ed3a257650c289b0__1605899520
URL1:https://arc.ask3.ru/arc/aa/64/b0/642a30a362e3e8c6ed3a257650c289b0.html
Заголовок, (Title) документа по адресу, URL1:
MVEL - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)