{"id":11503,"date":"2026-10-14T15:24:34","date_gmt":"2026-10-14T07:24:34","guid":{"rendered":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"modified":"2026-10-14T15:24:34","modified_gmt":"2026-10-14T07:24:34","slug":"mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode","status":"publish","type":"post","link":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","title":{"rendered":"Dominar variables y directivas del preprocesador en PlantUML con VPasCode"},"content":{"rendered":"<h2 data-nodeid=\"19796\">Introducci\u00f3n<\/h2>\n<p data-nodeid=\"19797\">El motor de preprocesamiento de PlantUML transforma el c\u00f3digo est\u00e1tico de diagramas en plantillas din\u00e1micas y reutilizables. Cuando se combina con <strong data-nodeid=\"19910\">Visual Paradigm VPasCode<\/strong>\u2014un entorno de trabajo basado en navegador y potenciado por IA para diagramas como c\u00f3digo\u2014, obtienes la capacidad de escribir, probar y iterar sobre arquitecturas complejas sin instalaciones locales. Esta gu\u00eda cubre todo, desde la sintaxis b\u00e1sica de variables hasta patrones modulares avanzados, optimizados espec\u00edficamente para el flujo de trabajo de VPasCode.<\/p>\n<p><img alt=\"\" class=\"alignnone size-full wp-image-22010\" decoding=\"async\" height=\"1122\" loading=\"lazy\" sizes=\"auto, (max-width: 1402px) 100vw, 1402px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png 1402w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-300x240.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-1024x819.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7-768x615.png 768w\" width=\"1402\"\/><\/p>\n<hr data-nodeid=\"19798\"\/>\n<h2 data-nodeid=\"19799\">1. \u00bfPor qu\u00e9 usar variables en PlantUML?<\/h2>\n<p data-nodeid=\"19800\">Codificar valores directamente genera pesadillas de mantenimiento. Las variables te permiten:<\/p>\n<ul data-nodeid=\"19801\">\n<li data-nodeid=\"19802\">\n<p data-nodeid=\"19803\"><strong data-nodeid=\"19917\">Centralizar la configuraci\u00f3n:<\/strong>Cambiar el nombre de una base de datos o el valor de un tiempo de espera en un solo lugar, y se actualiza en todas partes.<\/p>\n<\/li>\n<li data-nodeid=\"19804\">\n<p data-nodeid=\"19805\"><strong data-nodeid=\"19922\">Habilitar la modularidad:<\/strong>Crear archivos de plantilla compartidos que se adapten seg\u00fan el contexto (por ejemplo, Desarrollo vs. Producci\u00f3n).<\/p>\n<\/li>\n<li data-nodeid=\"19806\">\n<p data-nodeid=\"19807\"><strong data-nodeid=\"19927\">Reducir la repetici\u00f3n:<\/strong>Usar bucles y macros para generar estructuras repetitivas como cl\u00fasteres de microservicios o puntos finales de API.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"19808\">En VPasCode, estos beneficios se amplifican con <strong data-nodeid=\"19933\">vista previa en tiempo real<\/strong>lo que significa que ves el impacto de tus cambios de variables instant\u00e1neamente mientras escribes.<\/p>\n<hr data-nodeid=\"19809\"\/>\n<h2 data-nodeid=\"19810\">2. Sintaxis y declaraci\u00f3n de variables<\/h2>\n<p data-nodeid=\"19811\">PlantUML moderno utiliza el prefijo &#8221; para variables, ofreciendo un mejor \u00e1mbito y seguridad de tipos que el enfoque heredado &#8220;<code data-backticks=\"1\" data-nodeid=\"19936\">!$<\/code>PlantUML moderno utiliza el prefijo &#8221; para variables, ofreciendo un mejor \u00e1mbito y seguridad de tipos que el enfoque heredado &#8220;<code data-backticks=\"1\" data-nodeid=\"19938\">!define<\/code>.<\/p>\n<h3 data-nodeid=\"19812\">Asignaci\u00f3n b\u00e1sica (<code data-backticks=\"1\" data-nodeid=\"19941\">=<\/code>)<\/h3>\n<p data-nodeid=\"19813\">1. \u00bfPor qu\u00e9 usar variables en PlantUML?<code data-backticks=\"1\" data-nodeid=\"19944\">=<\/code>Usa &#8221; para asignar o reasignar un valor.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"19814\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">!$appName = \"OrderService\"\r\n!$maxRetries = 5\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrH9B2ZmIynDLR1LKF8lIaaj2aujAijCJbNYvL9KoKsi24ejASfCBGPAcm80\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19815\">Asignaci\u00f3n condicional (<code data-backticks=\"1\" data-nodeid=\"19947\">?=<\/code>)<\/h3>\n<p data-nodeid=\"19816\">Usar <code data-backticks=\"1\" data-nodeid=\"19950\">?=<\/code> para establecer un valor predeterminado solo si la variable a\u00fan no ha sido definida. Esto es crucial para crear plantillas flexibles que pueden ser sobrescritas mediante la inclusi\u00f3n de archivos.<\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LSen3a1040NGNk8EtqOfzWIYKgYTODZ1n1fY5t5xMjLhNfOtUicnwSeQKLSmNQH9T3984slHZlYDcmB87qpkGU28_W4fH0T_EiOedWl4MGAyAECpBBBlxCeN\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrHnpIlBBChFoqtDAr6mjrLG2Yv9JC_CIrTIuENIrrS8pbH0KL6Pg91McggGMboIc9IJcfoPagzGa5-aK9gda5YKd95Pbg-GcPUSKmeKrm4hKiWvl3OlDL6XE5KXFpUp95KF0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"19817\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">!$Environment ?= \"Staging\" \r\n\/\/ Si $Environment ya fue establecido por un archivo incluido, esta l\u00ednea se omite.\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:KrHnpIlBBChFoqtDAr6mjrLG2Yv9JC_CIrTIuENIrrS8pbH0KL6Pg91McggGMboIc9IJcfoPagzGa5-aK9gda5YKd95Pbg-GcPUSKmeKrm4hKiWvl3OlDL6XE5KXFpUp95KF0000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LSen3a1040NGNk8EtqOfzWIYKgYTODZ1n1fY5t5xMjLhNfOtUicnwSeQKLSmNQH9T3984slHZlYDcmB87qpkGU28_W4fH0T_EiOedWl4MGAyAECpBBBlxCeN\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19818\">Reglas de \u00e1mbito<\/h3>\n<ul data-nodeid=\"19819\">\n<li data-nodeid=\"19820\">\n<p data-nodeid=\"19821\">Las variables declaradas a nivel superior son globales dentro del script.<\/p>\n<\/li>\n<li data-nodeid=\"19822\">\n<p data-nodeid=\"19823\">Variables dentro de <code data-backticks=\"1\" data-nodeid=\"19955\">!function<\/code> o <code data-backticks=\"1\" data-nodeid=\"19957\">!procedure<\/code> bloques son locales a ese \u00e1mbito a menos que se gestionen expl\u00edcitamente.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19824\"\/>\n<h2 data-nodeid=\"19825\">3. Tipos de datos y manejo<\/h2>\n<p data-nodeid=\"19826\">PlantUML admite tres tipos de datos principales:<\/p>\n<table data-nodeid=\"19828\">\n<thead data-nodeid=\"19829\">\n<tr data-nodeid=\"19830\">\n<th align=\"left\" data-nodeid=\"19832\">Tipo<\/th>\n<th align=\"left\" data-nodeid=\"19833\">Descripci\u00f3n<\/th>\n<th align=\"left\" data-nodeid=\"19834\">Ejemplo<\/th>\n<\/tr>\n<\/thead>\n<tbody data-nodeid=\"19838\">\n<tr data-nodeid=\"19839\">\n<td align=\"left\" data-nodeid=\"19840\"><strong data-nodeid=\"19967\">Cadena<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19841\">Texto entre comillas.<\/td>\n<td align=\"left\" data-nodeid=\"19842\"><code data-backticks=\"1\" data-nodeid=\"19969\">!$host = \"api.example.com\"<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"19843\">\n<td align=\"left\" data-nodeid=\"19844\"><strong data-nodeid=\"19973\">Entero<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19845\">N\u00fameros enteros para matem\u00e1ticas\/bucles.<\/td>\n<td align=\"left\" data-nodeid=\"19846\"><code data-backticks=\"1\" data-nodeid=\"19975\">!$port = 8080<\/code><\/td>\n<\/tr>\n<tr data-nodeid=\"19847\">\n<td align=\"left\" data-nodeid=\"19848\"><strong data-nodeid=\"19979\">JSON<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19849\">Datos estructurados para configuraciones complejas.<\/td>\n<td align=\"left\" data-nodeid=\"19850\"><code data-backticks=\"1\" data-nodeid=\"19981\">!$config = %str2json(\"{ 'debug': true }\")<\/code><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<blockquote data-nodeid=\"19851\">\n<p data-nodeid=\"19852\"><strong data-nodeid=\"19992\">Nota sobre los booleanos:<\/strong> PlantUML trata <code data-backticks=\"1\" data-nodeid=\"19986\">0<\/code> como falso y cualquier n\u00famero distinto de cero o cadena no vac\u00eda como verdadero. Use <code data-backticks=\"1\" data-nodeid=\"19988\">%true()<\/code> y <code data-backticks=\"1\" data-nodeid=\"19990\">%false()<\/code> para mayor claridad.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"19853\"\/>\n<h2 data-nodeid=\"19854\">4. Implementaci\u00f3n pr\u00e1ctica: Diagramas de secuencia din\u00e1micos<\/h2>\n<p data-nodeid=\"19855\">Las variables brillan al definir actores y mensajes. A continuaci\u00f3n se presenta un ejemplo completo listo para VPasCode.<\/p>\n<p id=\"lbVEtrQ\"><img alt=\"\" class=\"alignnone size-full wp-image-22011\" decoding=\"async\" height=\"871\" loading=\"lazy\" sizes=\"auto, (max-width: 1919px) 100vw, 1919px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd.png 1919w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-300x136.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-1024x465.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-768x349.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dda5a7cd-1536x697.png 1536w\" width=\"1919\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bP8nJyCm48NtIFaFrwe37Ie2Oee4QWS41Keh4bXHcfnI2ySNx4iG_7hif0d9m51lT_Uzv-UJbuOJpLKXVMyoIwL0nN0DqmtjXSHLMKvTFqyOlv9lDrZjrkztRTcCaeeF4UfQfDYCRRaHgIRJzXgcrCIKadJ0VHplelE7QFjiHxvdvQIgOe_QLLs0nGtqTuRmHBbGy8AV5Hg6izvkRkKfYzg2FTwuT59dCymNmbiYHURuc3vG3VK3hiabkOKx4kmPcIt68I-30BQFleVI8AnLVOhsAhY0L-K0qk87C-kYCfSYmty2_ZtHEHst5jeTcPAKmR5oi1f5jg55Vk0GRbKjDAd2IOK1WmnCC9aD-hwtj4div_W5\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZP9BJiCm48RtaNA7QTK5B2eAOXK9r2ugNkf3f6ABN6TeHpYUo762u3Oz0qVenHYd3z854bdDw_lzUvnXwPNpLMxYgDFJXj1wk87kX9TaS5GKtL1VAOyVwZCqHlE7rxjTshHKvTSfkfeqDcr99wGTbxjQCrCuzgpPX87xnMAUNZociwcquaXmjbM-H1UoWu7-BHpFJ21bGvfybK66G5PY3b699Ms_BPmTzSz5JtkgXJpoZUn1A-Ys3IVmeWnboe7dTxHjl3NM-3GU5c46wkr648uZaEz4hNzg-semWDbJ7A4fSS-I_JTzFRY4AKFOZwCl5H2qMR2IuHykVwyPfFQhJE0Pow92UUPJjBKVor9mj5hx1CO616Dd6OJPRa2pVQDLvSI2n3b3fpUsDJcskGp6qL1ioU_p0m00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"19856\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!$client = \"MobileApp\"\r\n!$gateway = \"API_Gateway\"\r\n!$authService = \"AuthMicroservice\"\r\n!$protocol = \"HTTPS\/JSON\"\r\n\r\nautonumber\r\n\r\n$client -&gt; $gateway : Solicitud de inicio de sesi\u00f3n ($protocol)\r\nactivate $gateway\r\n\r\n$gateway -&gt; $authService : Validar token\r\nactivate $authService\r\n\r\nalt Token v\u00e1lido\r\n    $authService --&gt; $gateway : 200 OK\r\nelse Token inv\u00e1lido\r\n    $authService --&gt; $gateway : 401 No autorizado\r\nend\r\n\r\ndeactivate $authService\r\n$gateway --&gt; $client : Respuesta\r\ndeactivate $gateway\r\n\r\nnote right: El entorno est\u00e1 configurado como !$Environment\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:ZP9BJiCm48RtaNA7QTK5B2eAOXK9r2ugNkf3f6ABN6TeHpYUo762u3Oz0qVenHYd3z854bdDw_lzUvnXwPNpLMxYgDFJXj1wk87kX9TaS5GKtL1VAOyVwZCqHlE7rxjTshHKvTSfkfeqDcr99wGTbxjQCrCuzgpPX87xnMAUNZociwcquaXmjbM-H1UoWu7-BHpFJ21bGvfybK66G5PY3b699Ms_BPmTzSz5JtkgXJpoZUn1A-Ys3IVmeWnboe7dTxHjl3NM-3GU5c46wkr648uZaEz4hNzg-semWDbJ7A4fSS-I_JTzFRY4AKFOZwCl5H2qMR2IuHykVwyPfFQhJE0Pow92UUPJjBKVor9mj5hx1CO616Dd6OJPRa2pVQDLvSI2n3b3fpUsDJcskGp6qL1ioU_p0m00\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:bP8nJyCm48NtIFaFrwe37Ie2Oee4QWS41Keh4bXHcfnI2ySNx4iG_7hif0d9m51lT_Uzv-UJbuOJpLKXVMyoIwL0nN0DqmtjXSHLMKvTFqyOlv9lDrZjrkztRTcCaeeF4UfQfDYCRRaHgIRJzXgcrCIKadJ0VHplelE7QFjiHxvdvQIgOe_QLLs0nGtqTuRmHBbGy8AV5Hg6izvkRkKfYzg2FTwuT59dCymNmbiYHURuc3vG3VK3hiabkOKx4kmPcIt68I-30BQFleVI8AnLVOhsAhY0L-K0qk87C-kYCfSYmty2_ZtHEHst5jeTcPAKmR5oi1f5jg55Vk0GRbKjDAd2IOK1WmnCC9aD-hwtj4div_W5\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"19857\"><strong data-nodeid=\"20003\">Consejo de VPasCode:<\/strong> A medida que cambia <code data-backticks=\"1\" data-nodeid=\"19999\">$client<\/code> a <code data-backticks=\"1\" data-nodeid=\"20001\">\"WebDashboard\"<\/code>, el diagrama se actualiza en tiempo real, lo que le permite verificar los ajustes de dise\u00f1o de inmediato.<\/p>\n<hr data-nodeid=\"19858\"\/>\n<h2 data-nodeid=\"19859\">5. Caracter\u00edsticas avanzadas: Funciones y funciones integradas<\/h2>\n<h3 data-nodeid=\"19860\">Funciones personalizadas (<code data-backticks=\"1\" data-nodeid=\"20006\">!function<\/code>)<\/h3>\n<p data-nodeid=\"19861\">Las funciones le permiten realizar c\u00e1lculos o manipulaci\u00f3n de cadenas y devolver resultados directamente en las etiquetas del diagrama.<\/p>\n<p id=\"shmyjCy\"><img alt=\"\" class=\"alignnone size-full wp-image-22012\" decoding=\"async\" height=\"875\" loading=\"lazy\" sizes=\"auto, (max-width: 1918px) 100vw, 1918px\" src=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f.png\" srcset=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f.png 1918w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-300x137.png 300w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-1024x467.png 1024w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-768x350.png 768w, https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2dfc6847f-1536x701.png 1536w\" width=\"1918\"\/><\/p>\n<div class=\"vpascode-viewer-container vpascode-fancy-active\">\n<div class=\"vpascode-header\">\n<span class=\"vpascode-lang-label\">PlantUML<\/span><br \/>\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOAOGMvEGdfYZaPEPcbYXa5gEOQse0DDO1g1zeDm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 8px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<div class=\"vpascode-code-wrapper\">\n            <div class=\"vpascode-viewer-container vpascode-fancy-active\">\r\n                                <div class=\"vpascode-header\">\r\n                    <span class=\"vpascode-lang-label\">PlantUML<\/span>\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOARZcAEGSNfkRMPAga9Aga9nOb9wea5gCOhof0T1q1w0nG2S00000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 8px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n                                <div class=\"vpascode-code-wrapper\">\r\n                    <pre class=\"lang-plantuml\" data-nodeid=\"19862\"><code class=\"language-plantuml\" data-language=\"plantuml\" class=\"language-plantuml\">@startuml\r\n!function $formatSize($mb)\r\n  !return $mb + \" MB\"\r\n!endfunction\r\n\r\nAlice -&gt; Bob : El l\u00edmite de carga es $formatSize(50)\r\n@enduml\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOARZcAEGSNfkRMPAga9Aga9nOb9wea5gCOhof0T1q1w0nG2S00000\" \r\n                       target=\"_blank\" \r\n                       rel=\"noopener noreferrer\" \r\n                       class=\"vpascode-fancy-btn\">\r\n                        <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"margin-right: 6px;\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg>\r\n                        <span>Edit PlantUML in VPasCode<\/span>\r\n                    <\/a>\r\n                <\/div>\r\n            <\/div>\r\n            \n<\/p><\/div>\n<div class=\"vpascode-actions\">\n<a class=\"vpascode-fancy-btn\" href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOAOGMvEGdfYZaPEPcbYXa5gEOQse0DDO1g1zeDm00\" rel=\"noopener noreferrer\" target=\"_blank\"><br \/>\n<svg fill=\"none\" height=\"14\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2.5\" style=\"margin-right: 6px;\" viewbox=\"0 0 24 24\" width=\"14\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"><\/path><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"><\/path><\/svg><br \/>\n<span>Editar PlantUML en VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19863\">Funciones integradas \u00fatiles<\/h3>\n<ul data-nodeid=\"19864\">\n<li data-nodeid=\"19865\">\n<p data-nodeid=\"19866\"><code data-backticks=\"1\" data-nodeid=\"20010\">%variable_exists(\"$varName\")<\/code>: Verificar si una variable est\u00e1 definida antes de usarla para evitar errores.<\/p>\n<\/li>\n<li data-nodeid=\"19867\">\n<p data-nodeid=\"19868\"><code data-backticks=\"1\" data-nodeid=\"20012\">%get_variable_value(\"$varName\")<\/code>: Obtener el valor de una variable din\u00e1micamente, \u00fatil para depuraci\u00f3n.<\/p>\n<\/li>\n<li data-nodeid=\"19869\">\n<p data-nodeid=\"19870\"><code data-backticks=\"1\" data-nodeid=\"20014\">%strlen(\"$text\")<\/code>: Obtener la longitud de una cadena para formato condicional.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19871\"\/>\n<h2 data-nodeid=\"19872\">6. Optimizaci\u00f3n de tu flujo de trabajo en VPasCode<\/h2>\n<p data-nodeid=\"19873\">VPasCode proporciona herramientas espec\u00edficas para mejorar la experiencia de desarrollo impulsado por variables:<\/p>\n<h3 data-nodeid=\"19874\">1. Vista previa en vivo y detecci\u00f3n de errores<\/h3>\n<ul data-nodeid=\"19875\">\n<li data-nodeid=\"19876\">\n<p data-nodeid=\"19877\"><strong data-nodeid=\"20025\">Retroalimentaci\u00f3n instant\u00e1nea:<\/strong> Modifica el valor de una variable en el panel del editor y observa c\u00f3mo el diagrama se vuelve a renderizar al instante.<\/p>\n<\/li>\n<li data-nodeid=\"19878\">\n<p data-nodeid=\"19879\"><strong data-nodeid=\"20036\">Depuraci\u00f3n asistida por IA:<\/strong> Si omites un <code data-backticks=\"1\" data-nodeid=\"20030\">$<\/code> prefijo o tienes un error de \u00e1mbito, usa el <strong data-nodeid=\"20037\">Corrector de c\u00f3digo con IA<\/strong> bot\u00f3n. Analiza la l\u00f3gica del preprocesador y sugiere correcciones autom\u00e1ticamente.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"19880\">2. Dise\u00f1o modular con inclusiones<\/h3>\n<p data-nodeid=\"19881\">Aunque VPasCode se basa en el navegador, puedes simular la modularidad organizando tu c\u00f3digo en bloques l\u00f3gicos. Para flujos de trabajo locales, usar\u00edas <code data-backticks=\"1\" data-nodeid=\"20040\">!include<\/code>, pero en VPasCode, puedes mantener las variables compartidas en la parte superior de tu script para un acceso f\u00e1cil.<\/p>\n<h3 data-nodeid=\"19882\">3. Exportaci\u00f3n para documentaci\u00f3n<\/h3>\n<p data-nodeid=\"19883\">Una vez que tu diagrama din\u00e1mico est\u00e9 finalizado:<\/p>\n<ul data-nodeid=\"19884\">\n<li data-nodeid=\"19885\">\n<p data-nodeid=\"19886\"><strong data-nodeid=\"20048\">SVG:<\/strong> Ideal para documentaci\u00f3n t\u00e9cnica donde se requieren escalabilidad y buscabilidad de texto.<\/p>\n<\/li>\n<li data-nodeid=\"19887\">\n<p data-nodeid=\"19888\"><strong data-nodeid=\"20053\">PNG:<\/strong> Ideal para compartir r\u00e1pidamente en Slack, Teams o comunicaciones por correo electr\u00f3nico.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19889\"\/>\n<h2 data-nodeid=\"19890\">7. Mejores pr\u00e1cticas para c\u00f3digo mantenible<\/h2>\n<ol data-nodeid=\"19891\">\n<li data-nodeid=\"19892\">\n<p data-nodeid=\"19893\"><strong data-nodeid=\"20065\">Convenciones de nombres:<\/strong> Use camelCase o snake_case de forma consistente (por ejemplo, &#8220;<code data-backticks=\"1\" data-nodeid=\"20061\">$dbName<\/code> o &#8220;<code data-backticks=\"1\" data-nodeid=\"20063\">$db_name<\/code>).<\/p>\n<\/li>\n<li data-nodeid=\"19894\">\n<p data-nodeid=\"19895\"><strong data-nodeid=\"20072\">Valores predeterminados:<\/strong> Siempre use &#8220;<code data-backticks=\"1\" data-nodeid=\"20070\">?=<\/code> para variables que podr\u00edan sobrescribirse en diferentes entornos.<\/p>\n<\/li>\n<li data-nodeid=\"19896\">\n<p data-nodeid=\"19897\"><strong data-nodeid=\"20077\">Comentarios:<\/strong> Agregue comentarios encima de los bloques de variables para explicar su prop\u00f3sito, especialmente para configuraciones JSON.<\/p>\n<\/li>\n<li data-nodeid=\"19898\">\n<p data-nodeid=\"19899\"><strong data-nodeid=\"20082\">Mantenga la l\u00f3gica simple:<\/strong> Aunque PlantUML soporta bucles y condicionales, una l\u00f3gica excesivamente compleja puede hacer que los diagramas sean dif\u00edciles de leer. Use variables para la configuraci\u00f3n, no para construir toda la l\u00f3gica de la aplicaci\u00f3n.<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"19900\"\/>\n<h2 data-nodeid=\"19901\">Conclusi\u00f3n<\/h2>\n<p class=\"\" data-nodeid=\"19902\">Al dominar las variables y las directivas del preprocesador en PlantUML, transforma sus diagramas de im\u00e1genes est\u00e1ticas en documentaci\u00f3n viva. Usar &#8220;<strong data-nodeid=\"20089\">VPasCode<\/strong> agiliza este proceso con sus capacidades de edici\u00f3n mejoradas con IA y vista previa en vivo, permiti\u00e9ndole centrarse en la arquitectura en lugar de la sintaxis. Comience a experimentar con asignaciones condicionales y funciones personalizadas hoy mismo para construir plantillas de diagramas m\u00e1s resistentes y reutilizables.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introducci\u00f3n El motor de preprocesamiento de PlantUML transforma el c\u00f3digo est\u00e1tico de diagramas en plantillas din\u00e1micas y reutilizables. Cuando se<\/p>\n","protected":false},"author":11,"featured_media":11504,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_yoast_wpseo_title":"","_yoast_wpseo_metadesc":"","source_url":"","source_h1_title":"","fifu_image_url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","fifu_image_alt":"","_fifu_image_alt":"","fifu_alt":"","_fifu_alt":"","fifu_image_title":"","_fifu_image_title":"","fifu_input_alt":"","vp_image_hash":"","footnotes":""},"categories":[81,119],"tags":[],"asset-category":[],"class_list":["post-11503","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai","category-vpascode-editor"],"source_url":"","source_h1_title":"","fifu_image_url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","fifu_image_alt":"","vp_image_hash":"","yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.7 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dominar variables y directivas del preprocesador en PlantUML con VPasCode - Cibermedio<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dominar variables y directivas del preprocesador en PlantUML con VPasCode - Cibermedio\" \/>\n<meta property=\"og:description\" content=\"Introducci\u00f3n El motor de preprocesamiento de PlantUML transforma el c\u00f3digo est\u00e1tico de diagramas en plantillas din\u00e1micas y reutilizables. Cuando se\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"Cibermedio\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-14T07:24:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/><meta property=\"og:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1402\" \/>\n\t<meta property=\"og:image:height\" content=\"1122\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"curtis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"curtis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"Dominar variables y directivas del preprocesador en PlantUML con VPasCode\",\"datePublished\":\"2026-10-14T07:24:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"},\"wordCount\":919,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/10\/img_6acf2d8d765e7.png\",\"articleSection\":[\"AI\",\"VPasCode Editor\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\",\"url\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\",\"name\":\"Dominar variables y directivas del preprocesador en PlantUML con VPasCode - Cibermedio\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/10\/img_6acf2d8d765e7.png\",\"datePublished\":\"2026-10-14T07:24:34+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/10\/img_6acf2d8d765e7.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/10\/img_6acf2d8d765e7.png\",\"width\":1402,\"height\":1122},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/es\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dominar variables y directivas del preprocesador en PlantUML con VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/es\/\",\"name\":\"Cibermedio\",\"description\":\"Aprendiendo una cosa nueva todos los d\u00edas\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/es\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g\",\"caption\":\"curtis\"},\"url\":\"https:\/\/www.cybermedian.com\/es\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dominar variables y directivas del preprocesador en PlantUML con VPasCode - Cibermedio","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","og_locale":"es_ES","og_type":"article","og_title":"Dominar variables y directivas del preprocesador en PlantUML con VPasCode - Cibermedio","og_description":"Introducci\u00f3n El motor de preprocesamiento de PlantUML transforma el c\u00f3digo est\u00e1tico de diagramas en plantillas din\u00e1micas y reutilizables. Cuando se","og_url":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","og_site_name":"Cibermedio","article_published_time":"2026-10-14T07:24:34+00:00","og_image":[{"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","type":"","width":"","height":""},{"width":1402,"height":1122,"url":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","type":"image\/png"}],"author":"curtis","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.cybermedian.com\/wp-content\/uploads\/2026\/10\/img_6acf2d8d765e7.png","twitter_misc":{"Escrito por":"curtis","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"Dominar variables y directivas del preprocesador en PlantUML con VPasCode","datePublished":"2026-10-14T07:24:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"wordCount":919,"image":{"@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/10\/img_6acf2d8d765e7.png","articleSection":["AI","VPasCode Editor"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","url":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","name":"Dominar variables y directivas del preprocesador en PlantUML con VPasCode - Cibermedio","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/10\/img_6acf2d8d765e7.png","datePublished":"2026-10-14T07:24:34+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage","url":"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/10\/img_6acf2d8d765e7.png","contentUrl":"https:\/\/www.cybermedian.com\/es\/wp-content\/uploads\/sites\/8\/2026\/10\/img_6acf2d8d765e7.png","width":1402,"height":1122},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/es\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/es\/"},{"@type":"ListItem","position":2,"name":"Dominar variables y directivas del preprocesador en PlantUML con VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/es\/#website","url":"https:\/\/www.cybermedian.com\/es\/","name":"Cibermedio","description":"Aprendiendo una cosa nueva todos los d\u00edas","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.cybermedian.com\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6910084565fcc601ec03c6693bb8ea480c1e52ccaa0efb299eb038bb6a1edc87?s=96&d=mm&r=g","caption":"curtis"},"url":"https:\/\/www.cybermedian.com\/es\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/posts\/11503","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/comments?post=11503"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/posts\/11503\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/media\/11504"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/media?parent=11503"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/categories?post=11503"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/tags?post=11503"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/es\/wp-json\/wp\/v2\/asset-category?post=11503"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}