엠벨
MVEL| 개발자 | Mike Brock 및 다양한 기여자 |
|---|---|
| 안정된 릴리스 | 2.3.0 / 2016년 6월 15일 ( |
| 저장소 | |
| 기입처 | 자바 |
| 운영 체제 | 크로스 플랫폼 |
| 유형 | 표현 언어(EL) |
| 면허증. | Apache 라이선스 |
| 웹 사이트 | https://github.com/mvel/mvel |
MVFLEX Expression Language(MVEL)는 Java 플랫폼용 하이브리드 동적/정적 유형, 내장 가능한 표현 언어 및 런타임입니다.원래는 애플리케이션 프레임워크의 유틸리티 언어로 시작되었지만 현재는 완전히 독립적으로 개발되었습니다.
일반적으로 MPEL은 XML 파일이나 주석 등의 구성을 통해 최종 사용자 및 프로그래머에게 기본 로직을 노출하기 위해 사용됩니다.또한 단순한 JavaBean 식을 구문 분석하는 데도 사용할 수 있습니다.
런타임에서는 MPEL 식을 해석적으로 실행하거나 런타임 바이트 코드 생성을 지원하는 사전 컴파일 프로세스를 통해 실행함으로써 오버헤드를 제거할 수 있습니다.
MBEL은 Java 기반 소프트웨어를 증강하는 것을 의도하고 있기 때문에 대부분의 구문을 Java 프로그래밍 언어에서 직접 차용하고 약간의 작은 차이와 추가 기능을 가지고 있습니다.예를 들어, 클래스 및 메서드 참조를 정규 변수로 취급하는 MPEL 타이핑 모델의 부작용으로 클래스 및 함수 포인터를 모두 사용할 수 있습니다(단, 정적 메서드에 한함).
밀리 = 시스템..current TimeMillis; // millis를 가져옵니다. 시간을 = 밀리(); 또한 MBEL에서는 컬렉션을 Lisp와 같은 구문에서 접힘(또는 투영)으로 나타낼 수 있습니다.
부모 이름 = (부모.이름. …에. (아이들. …에. 직원들.)); Hello world 예시
시스템..나가..인쇄("안녕, 세상아!"); MBEL은 Java 네임스페이스 및 클래스에 의존하지만 네임스페이스 또는 클래스를 선언하는 기능은 없습니다.
QuickSort의 예시
다음으로 언어의 스크립트 기능을 나타내는 MPEL 2.0에 구현된 Quicksort 알고리즘의 예를 나타냅니다.
수입품 java.disc.*; // 메인 QuickSort 알고리즘 방어하다 퀵소트(목록.) { 한다면 (목록..크기() <=> 1) { 목록.; } 또 다른 { 피벗 = 목록.[0]; 콘센트(퀵소트(($ …에. 목록. 한다면 $ < > 피벗)), 피벗, 퀵소트(($ …에. 목록. 한다면 $ > 피벗))); } } // 목록을 연결하는 방법을 정의합니다. 방어하다 콘센트(리스트 1, 피벗, 리스트 2) { concat 리스트 = 신규 어레이 리스트(리스트 1); concat 리스트.더하다(피벗); concat 리스트.add All(모두 추가)(리스트 2); concat 리스트; } // 정렬할 목록 만들기 목록. = [5,2,4,1,18,10,15,1,0]; // 정렬! 퀵소트(목록.); 「 」를 참조해 주세요.
외부 링크
- MPEL 언어 가이드
- 원래 웹사이트(더 이상 이용하실 수 없습니다)

