Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
MVEL
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
{{Ficha de software | nombre = MVEL | logo = | captura = | pie = | desarrollador = Mike Brock y varios colaboradores | última_versión = 2.0.19 | fecha_última_versión = {{fecha de lanzamiento|19|11|2010}} | sistema_operativo = [[multiplataforma]] | plataforma = [[Plataforma Java|Java]] | lenguaje_programación = [[Java (lenguaje de programación)|Java]] | género = [[Lenguaje de expresión]] | licencia = [[licencia Apache]] | sitio_web = https://web.archive.org/web/20081007000252/http://mvel.codehaus.org/ | idiomas = inglés | español = no }} '''Lenguaje de expresión de MVFLEX''' (MVEL) es un [[lenguaje de expresión]] y [[Sistema en tiempo de ejecución|runtime de tiempo de ejecución]] híbrido, de tipo dinámico/estático, e incrustable, para la [[Plataforma Java]]. Originalmente comenzó como un lenguaje de utilidad para un marco de aplicación, pero el proyecto se desarrolla ahora de forma completamente independiente. MVEL se utiliza normalmente para exponer lógica básica para usuarios finales y programadores a través de configuración tal como archivos [[XML]] o [[Anotación Java|anotaciones de Java]]. También puede utilizarse para analizar expresiones simples de [[JavaBean]]. En tiempo de ejecución permite expresiones de MVEL para ejecutar, ya sea interpretativamente, o a través de un proceso generalmente pre-compilado con soporte para la generación de [[bytecode]] de [[runtime|tiempo de ejecución (runtime)]] y eliminar el overhead. Ya que MVEL pretende aumentar el software basado en Java, toma la mayoría de su sintaxis directamente desde el lenguaje con algunas diferencias menores y capacidades adicionales de programación de [[Java (lenguaje de programación)|Java]]. Por ejemplo: como un efecto secundario del modelo de escritura de MVEL, que trata las referencias de método y clase como variables regulares, es posible utilizar punteros de función y clase (pero solo para los métodos estáticos). == Ejemplos == <syntaxhighlight lang="java"> millis = System.currentTimeMillis; // get millis time = millis(); </syntaxhighlight> MVEL también permite representar las colecciones como pliegues (o proyecciones) en una sintaxis [[Lisp|Lisp-like]]. <syntaxhighlight lang="java"> namesOfParents = (parent.name in (hijos in empleados));// hijos in empleados correspondería a hijos de empleados en el lenguaje común </syntaxhighlight> == Ejemplo de Hola Mundo == <syntaxhighlight lang="java"> System.out.println("¡Hola, mundo!"); </syntaxhighlight> MVEL usa clases y espacios de nombres de Java, pero no posee la capacidad de declarar espacios de nombres o clases. == Ejemplo del algoritmo [[Quicksort]] == A continuación se muestra un ejemplo de algoritmo [[Quicksort]] implementado en MVEL 2.0, lo que demuestra las capacidades de scripting del lenguaje: <syntaxhighlight lang="javascript"> import java.util.*; // algoritmo quicksort principal 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 el método para concatenar listas. def concat(list1, pivot, list2) { concatList = new ArrayList(list1); concatList.add(pivot); concatList.addAll(list2); concatList; } // crear una lista para ordenar list = [5,2,4,1,18,10,15,1,0]; // sort it! quicksort(list); </syntaxhighlight> == Véase también == {{Portal|Software libre}} * [[Java (lenguaje de programación)|Java]] * [[OGNL]] * [[Lenguaje de expresión]] == Enlaces externos == * (en inglés) [https://web.archive.org/web/20110725183920/http://mvel.codehaus.org/Language+Guide Guía de idioma MVEL] {{ORDENAR:Mvel}} {{Control de autoridades}} [[Categoría:Lenguajes interpretados]] [[Categoría:Software libre programado en Java]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
MVEL
»
Añadir idiomas
Añadir tema