Variables [Guía de Usuario de Enterprise Architect]

Top Previous Next

Variables

button_main button_prev button_next

Las variables de plantilla proporcionan una manera conveniente de almacenar y recuperar datos dentro de una plantilla. Esta sección explica como se definen y referencian variables.

Definiciones de Variables:

Las definiciones de Variables toman la forma normal:

$<name> = <value>

 

donde <name> puede ser una secuencia alfanumérica y <value> es derivado de un macro u otra variable.

Una definición de ejemplo simple sería:

$foo = %className%

 

Las Variables pueden ser definidas, utilizando valores desde:

Macros de sustitución, función o lista

Literales de String, encerrado entre comillas dobles

Referencias de variables

 

Reglas de Definición:

Las siguientes reglas se aplican a definiciones de variable:

Las Variables tienen alcance global dentro de la plantilla en las cuales son definidos y no son accesibles a otras plantillas

Cada variable debe ser definida al comienzo de una línea, sin ningún espacio en blanco intermedio

Las Variables son denotadas al prefijar el nombre con $, como para $foo

Las Variables no tienen que ser declaradas, antes de ser definidas

Las Variables deben ser definidas utilizando el operador de asignación (=), o el operador de asignación de suma (+=)

Múltiples términos pueden ser combinados en una única definición utilizando el operador de suma (+)

 

Ejemplos

Utilizando un macro de sustitución:

$foo = %opTag:"bar"%

 

Utilizando una cadena literal:

$foo = "bar"

 

Utilizando otra variable:

$foo = $bar

 

Utilizando un macro de lista:

$ops = %list="Operation" @separator="\n\n" @indent="\t"%

 

Utilizando el operador de asignación de suma (+=):

$body += %list="Operation" @separator="\n\n" @indent="\t"%

 

La definición de arriba es equivalente a lo siguiente:

$body = $body + %list="Operation" @separator="\n\n" @indent="\t"%

 

Utilizando múltiples términos:

$templateArgs = %list="ClassParameter" @separator=", "%

$template ="template<" + $templateArgs + ">"

 

Referencias de Variable:

Los valores de Variable pueden ser recuperados al utilizar una referencia de la forma:

$<name>

 

donde <name> puede ser una variable definida anteriormente.

Las referencias de variable pueden ser utilizados en una de las siguientes maneras:

Como parte de un macro, tal como el argumento para un macro de función

Como un término en una definición de variable

Como una sustitución directa del valor de la variable hacia la salida

 

Es legal referenciar una variable antes de que sea definida. En este caso, la variable es asumida para contener un valor de cadena vacío: ""

Ejemplo 1:

Utilizando variables como parte de un macro. El siguiente es un extracto de la plantilla de C++ ClassNotes predeterminado.

$wrapLen = %genOptWrapComment%

$style = %genOptCPPCommentStyle%

 

%if $style == "XML.NET"%

%XML_COMMENT($wrapLen)%

%else%

%CSTYLE_COMMENT($wrapLen)%

%endIf%

 

Define variables para almacenar el estilo y envolver opciones de longitud.

 

Referencia a $style como parte de una condición.

 

Referencia a $wrapLen como un argumento para un macro de función.

Ejemplo 2:

Utilizando referencias de variables como parte de una definición de variable.

$foo = "foo"

$bar = "bar"

 

$foobar = $foo + $bar

Definir nuestras variables.

 

$foobar ahora contiene el valor foobar.

Ejemplo 3:

Sustituir valores de variable hacia la salida.

$bases=%classInherits%

 

Class %className%$bases

Almacenar el resultado de la plantilla ClassInherits en $bases.

Ahora sacar el valor de $bases después del nombre de Clase.