Creando una Función
La siguiente guía de cómo hacerlo le guiará a través de los pasos necesarios para crear una función utilizando el Diseñador de Reglas en el Lenguaje Simple. El ejemplo mostrado es bastante trivial; sin embargo, se pueden definir funciones mucho más complicadas de manera muy similar.
Requisitos previos
-
MPS (versión 2022.3.1)
-
Un modelo que utiliza el
com.iconsolutions.simple.devkit, o un devkit que lo utilice (por ejemplo,v2Flo.devkit)
Pasos
1. Crear Nodo de Función
Para agregar una función a un modelo, diríjase a la Logical View ventana en el lado izquierdo de MPS y haga clic derecho en el modelo donde se requiere la función. Luego navegue a New > com.iconsolutions.simple > Function.
Debería verse como la imagen a continuación:
2. Nombre de la función
Una función no implementada debería haberse creado ahora. Todas las funciones necesitan un nombre para que puedan ser referenciadas en otros lugares. Coloque el cursor en la celda roja que dice <no name> a la derecha de Name: y introduzca el nombre de la función.
En el ejemplo a continuación, el nombre se establece en ExampleFunction:
3. Defina Entradas
Las funciones requieren al menos una entrada. Para agregar una, seleccione la celda a continuación.Input Data que dice <no input> y presione enter. Debe aparecer una tabla con una fila vacía. Ingrese el nombre de la entrada y seleccione un Java tipo de clase para ello. Para agregar entradas adicionales, coloque el cursor en una fila de la tabla y presione enter.
En el ejemplo a continuación, una única entrada anInt de tipo Integer ha sido definido:
4. Defina Valores (opcional)
Las funciones no necesitan definir ningún valor, pero pueden ser particularmente útiles para derivar valores intermedios a partir de la entrada. Para agregar una, seleccione la celda a continuación.Values que dice <no values> y presione enter. Debería aparecer una tabla con una fila vacía. Ingrese el nombre de la entrada y seleccione un tipo para ella. La columna de expresión permite escribir una función para determinar el valor en tiempo de ejecución. Para agregar valores adicionales, coloque el cursor sobre una fila de la tabla y presione enter.
En el ejemplo a continuación, un único valor equalsOne de tipo boolean ha sido definido con la expresión anInt == 1:
5. Defina los Datos de Salida
Una función debe devolver algo. Los datos de salida definen lo que la función devolverá. Un dato de salida llamado Outcome con <no class> ya estará definido. Edite el nombre y seleccione un Java clase para el tipo de retorno.
En el ejemplo a continuación, los datos de salida fueron renombrados a result y el tipo de retorno se estableció en Boolean:
6. Defina el Cuerpo de la Función
Finalmente, se puede definir el cuerpo de la función. Debe devolver un valor que tenga el mismo tipo que el definido en los datos de salida; de lo contrario, habrá un error en el sistema de tipos. Para agregar el cuerpo de la función, seleccione la celda a continuación.Function que dice <expr> y escriba una expresión.
Para ver una lista de expresiones disponibles, presione Ctrl + Space.
|
Si se requiere una expresión de varias líneas, entonces escribir { creará una expresión de bloque.
|
En el ejemplo a continuación, una expresión if evalúa el equalsOne valor booleano y devuelve el resultado true si es cierto, de lo contrario false: