{"id":12320,"date":"2026-10-14T15:24:34","date_gmt":"2026-10-14T07:24:34","guid":{"rendered":"https:\/\/www.cybermedian.com\/pt\/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\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","title":{"rendered":"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode"},"content":{"rendered":"<h2 data-nodeid=\"19796\">Introdu\u00e7\u00e3o<\/h2>\n<p data-nodeid=\"19797\">O mecanismo de pr\u00e9-processamento do PlantUML transforma c\u00f3digo est\u00e1tico de diagramas em modelos din\u00e2micos e reutiliz\u00e1veis. Quando combinado com <strong data-nodeid=\"19910\">Visual Paradigm VPasCode<\/strong>\u2014um ambiente de trabalho baseado em navegador, aprimorado por IA, para diagramas como c\u00f3digo\u2014voc\u00ea ganha a capacidade de escrever, testar e iterar sobre arquiteturas complexas sem instala\u00e7\u00f5es locais. Este guia abrange tudo, desde a sintaxe b\u00e1sica de vari\u00e1veis at\u00e9 padr\u00f5es modulares avan\u00e7ados, otimizados especificamente para o fluxo de trabalho do 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. Por que usar Vari\u00e1veis no PlantUML?<\/h2>\n<p data-nodeid=\"19800\">Codificar valores diretamente leva a pesadelos de manuten\u00e7\u00e3o. Vari\u00e1veis permitem que voc\u00ea:<\/p>\n<ul data-nodeid=\"19801\">\n<li data-nodeid=\"19802\">\n<p data-nodeid=\"19803\"><strong data-nodeid=\"19917\">Centralizar Configura\u00e7\u00f5es:<\/strong>Alterar o nome de um banco de dados ou o valor de um tempo limite em um \u00fanico local, e ele ser\u00e1 atualizado em todos os lugares.<\/p>\n<\/li>\n<li data-nodeid=\"19804\">\n<p data-nodeid=\"19805\"><strong data-nodeid=\"19922\">Habilitar Modularidade:<\/strong>Criar arquivos de modelo compartilhados que se adaptam com base no contexto (por exemplo, Desenvolvimento vs. Produ\u00e7\u00e3o).<\/p>\n<\/li>\n<li data-nodeid=\"19806\">\n<p data-nodeid=\"19807\"><strong data-nodeid=\"19927\">Reduzir Repeti\u00e7\u00f5es:<\/strong>Usar loops e macros para gerar estruturas repetitivas, como clusters de microsservi\u00e7os ou endpoints de API.<\/p>\n<\/li>\n<\/ul>\n<p data-nodeid=\"19808\">No VPasCode, esses benef\u00edcios s\u00e3o amplificados por <strong data-nodeid=\"19933\">visualiza\u00e7\u00e3o ao vivo<\/strong>o que significa que voc\u00ea v\u00ea o impacto das suas altera\u00e7\u00f5es de vari\u00e1veis instantaneamente enquanto digita.<\/p>\n<hr data-nodeid=\"19809\"\/>\n<h2 data-nodeid=\"19810\">2. Sintaxe e Declara\u00e7\u00e3o de Vari\u00e1veis<\/h2>\n<p data-nodeid=\"19811\">O PlantUML moderno usa o prefixo &#8221; para vari\u00e1veis, oferecendo melhor escopo e seguran\u00e7a de tipos do que a abordagem legada &#8220;<code data-backticks=\"1\" data-nodeid=\"19936\">!$<\/code>O PlantUML moderno usa o prefixo &#8221; para vari\u00e1veis, oferecendo melhor escopo e seguran\u00e7a de tipos do que a abordagem legada &#8220;<code data-backticks=\"1\" data-nodeid=\"19938\">!define<\/code> abordagem.<\/p>\n<h3 data-nodeid=\"19812\">Atribui\u00e7\u00e3o B\u00e1sica (<code data-backticks=\"1\" data-nodeid=\"19941\">=<\/code>)<\/h3>\n<p data-nodeid=\"19813\">1. Por que usar Vari\u00e1veis no PlantUML?<code data-backticks=\"1\" data-nodeid=\"19944\">=<\/code>Use &#8221; para atribuir ou reatribuir um 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 no 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 no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19815\">Atribui\u00e7\u00e3o Condicional (<code data-backticks=\"1\" data-nodeid=\"19947\">?=<\/code>)<\/h3>\n<p data-nodeid=\"19816\">Use <code data-backticks=\"1\" data-nodeid=\"19950\">?=<\/code> para definir um valor padr\u00e3o apenas se a vari\u00e1vel ainda n\u00e3o tiver sido definida. Isso \u00e9 crucial para criar modelos flex\u00edveis que podem ser substitu\u00eddos por meio de arquivos inclu\u00eddos.<\/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 no 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:LSgn3OCm40NGFb9s-A2K4KmGfM829ZXXu_m8xeYnlKzAYapXnLBpwjVS1YsCfglNXES3xPWaK4EBwwNlCNgSnhj-CHlX_4obCsmMaLT8_6GM0tLQSlqvkyFlIR1GNu9wW44jYfFk3m00\" \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\/\/ Se $Environment j\u00e1 foi definido por um arquivo inclu\u00eddo, esta linha \u00e9 ignorada.\r\n<\/code><\/pre>                <\/div>\r\n                <div class=\"vpascode-actions\">\r\n                    <a href=\"https:\/\/www.vpascode.com\/editor\/#plantuml:LSgn3OCm40NGFb9s-A2K4KmGfM829ZXXu_m8xeYnlKzAYapXnLBpwjVS1YsCfglNXES3xPWaK4EBwwNlCNgSnhj-CHlX_4obCsmMaLT8_6GM0tLQSlqvkyFlIR1GNu9wW44jYfFk3m00\" \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 no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19818\">Regras de Escopo<\/h3>\n<ul data-nodeid=\"19819\">\n<li data-nodeid=\"19820\">\n<p data-nodeid=\"19821\">Vari\u00e1veis declaradas no n\u00edvel superior s\u00e3o globais dentro do script.<\/p>\n<\/li>\n<li data-nodeid=\"19822\">\n<p data-nodeid=\"19823\">Vari\u00e1veis dentro de <code data-backticks=\"1\" data-nodeid=\"19955\">!function<\/code> ou <code data-backticks=\"1\" data-nodeid=\"19957\">!procedure<\/code> blocos s\u00e3o locais para esse escopo, a menos que sejam gerenciados explicitamente.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19824\"\/>\n<h2 data-nodeid=\"19825\">3. Tipos de Dados e Manipula\u00e7\u00e3o<\/h2>\n<p data-nodeid=\"19826\">O PlantUML suporta tr\u00eas tipos de dados principais:<\/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\">Descri\u00e7\u00e3o<\/th>\n<th align=\"left\" data-nodeid=\"19834\">Exemplo<\/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\">String<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19841\">Texto entre aspas.<\/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\">Inteiro<\/strong><\/td>\n<td align=\"left\" data-nodeid=\"19845\">N\u00fameros inteiros para matem\u00e1tica\/la\u00e7os.<\/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\">Dados estruturados para configura\u00e7\u00f5es complexas.<\/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\">Observa\u00e7\u00e3o sobre Booleanos:<\/strong> PlantUML trata <code data-backticks=\"1\" data-nodeid=\"19986\">0<\/code> como falso e qualquer n\u00famero n\u00e3o zero ou string n\u00e3o vazia como verdadeiro. Use <code data-backticks=\"1\" data-nodeid=\"19988\">%true()<\/code> e <code data-backticks=\"1\" data-nodeid=\"19990\">%false()<\/code> para maior clareza.<\/p>\n<\/blockquote>\n<hr data-nodeid=\"19853\"\/>\n<h2 data-nodeid=\"19854\">4. Implementa\u00e7\u00e3o Pr\u00e1tica: Diagramas de Sequ\u00eancia Din\u00e2micos<\/h2>\n<p data-nodeid=\"19855\">Vari\u00e1veis brilham ao definir atores e mensagens. Abaixo est\u00e1 um exemplo completo pronto 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 no 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:bP8nJyCm48NtIFaFrwe37Ie2Oee4QWS41Keh4bXHcfnI2ySNx4iG_7hif0d9m51lT_Uzv-UJbuOJpLKXVMyoIwL0nN0DqmtjXSHLMKvTFqyOlv9lDrZjrkztRTcCaeeF4UfQfDYCRRaHgIRJzXgcrCIKadJ0VHplelE7QFjiHxvdvQIgOe_QLLs0nGtqTuRmHBbGy8AV5Hg6izvkRkKfYzg2FTwuT59dCymNmbiYHURuc3vG3VK3hiabkOKx4kmPcIt68I-30BQFleVI8AnLVOhsAhY0L-K0qk87C-kYCfSYmty2_ZtHEHst5jeTcPAKmR5oi1f5jg55Vk0GRbKjDAd2IOK1WmnCC9aD-hwtj4div_W5\" \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 : Login Request ($protocol)\r\nactivate $gateway\r\n\r\n$gateway -&gt; $authService : Validate Token\r\nactivate $authService\r\n\r\nalt Valid Token\r\n    $authService --&gt; $gateway : 200 OK\r\nelse Invalid Token\r\n    $authService --&gt; $gateway : 401 Unauthorized\r\nend\r\n\r\ndeactivate $authService\r\n$gateway --&gt; $client : Response\r\ndeactivate $gateway\r\n\r\nnote right: Environment is set to !$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:bP8nJyCm48NtIFaFrwe37Ie2Oee4QWS41Keh4bXHcfnI2ySNx4iG_7hif0d9m51lT_Uzv-UJbuOJpLKXVMyoIwL0nN0DqmtjXSHLMKvTFqyOlv9lDrZjrkztRTcCaeeF4UfQfDYCRRaHgIRJzXgcrCIKadJ0VHplelE7QFjiHxvdvQIgOe_QLLs0nGtqTuRmHBbGy8AV5Hg6izvkRkKfYzg2FTwuT59dCymNmbiYHURuc3vG3VK3hiabkOKx4kmPcIt68I-30BQFleVI8AnLVOhsAhY0L-K0qk87C-kYCfSYmty2_ZtHEHst5jeTcPAKmR5oi1f5jg55Vk0GRbKjDAd2IOK1WmnCC9aD-hwtj4div_W5\" \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 no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<p data-nodeid=\"19857\"><strong data-nodeid=\"20003\">Dica do VPasCode:<\/strong> \u00c0 medida que voc\u00ea altera <code data-backticks=\"1\" data-nodeid=\"19999\">$client<\/code> para <code data-backticks=\"1\" data-nodeid=\"20001\">\"WebDashboard\"<\/code>, o diagrama \u00e9 atualizado em tempo real, permitindo que voc\u00ea verifique os ajustes de layout imediatamente.<\/p>\n<hr data-nodeid=\"19858\"\/>\n<h2 data-nodeid=\"19859\">5. Recursos Avan\u00e7ados: Fun\u00e7\u00f5es e Fun\u00e7\u00f5es Integradas<\/h2>\n<h3 data-nodeid=\"19860\">Fun\u00e7\u00f5es Personalizadas (<code data-backticks=\"1\" data-nodeid=\"20006\">!function<\/code>)<\/h3>\n<p data-nodeid=\"19861\">Fun\u00e7\u00f5es permitem que voc\u00ea realize c\u00e1lculos ou manipula\u00e7\u00e3o de strings e retorne resultados diretamente nos r\u00f3tulos do 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 no 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:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOAVXavcQMf2gaf2gK5kJa9wOe75w9OhQf0T1e1w0PGFi1\" \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 : Limite de upload \u00e9 $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:SoWkIImgAStDuULIJ2lDIox9pCzJK4dBByfDB0dEh4hLKCbDqkJbKb1GB4ejAIq2okKcAMWhA2duEYa1jQJcfS1qyNBnSZdcP2QdAkZQAJZb9obOAVXavcQMf2gaf2gK5kJa9wOe75w9OhQf0T1e1w0PGFi1\" \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>Edite PlantUML no VPasCode<\/span><br \/>\n<\/a>\n<\/div>\n<\/div>\n<h3 data-nodeid=\"19863\">Fun\u00e7\u00f5es Integradas \u00dateis<\/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>: Verifique se uma vari\u00e1vel est\u00e1 definida antes de us\u00e1-la para evitar erros.<\/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>: Recupere o valor de uma vari\u00e1vel dinamicamente, \u00fatil para depura\u00e7\u00e3o.<\/p>\n<\/li>\n<li data-nodeid=\"19869\">\n<p data-nodeid=\"19870\"><code data-backticks=\"1\" data-nodeid=\"20014\">%strlen(\"$text\")<\/code>: Obtenha o comprimento de uma string para formata\u00e7\u00e3o condicional.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19871\"\/>\n<h2 data-nodeid=\"19872\">6. Otimizando seu Fluxo de Trabalho no VPasCode<\/h2>\n<p data-nodeid=\"19873\">O VPasCode oferece ferramentas espec\u00edficas para aprimorar a experi\u00eancia de desenvolvimento orientado a vari\u00e1veis:<\/p>\n<h3 data-nodeid=\"19874\">1. Visualiza\u00e7\u00e3o em Tempo Real e Detec\u00e7\u00e3o de Erros<\/h3>\n<ul data-nodeid=\"19875\">\n<li data-nodeid=\"19876\">\n<p data-nodeid=\"19877\"><strong data-nodeid=\"20025\">Feedback Instant\u00e2neo:<\/strong> Altere o valor de uma vari\u00e1vel no painel do editor e observe o diagrama ser renderizado instantaneamente.<\/p>\n<\/li>\n<li data-nodeid=\"19878\">\n<p data-nodeid=\"19879\"><strong data-nodeid=\"20036\">Depura\u00e7\u00e3o Assistida por IA:<\/strong> Se voc\u00ea esquecer um <code data-backticks=\"1\" data-nodeid=\"20030\">$<\/code> prefixo ou tiver um erro de escopo, use o <strong data-nodeid=\"20037\">Corretor de C\u00f3digo com IA<\/strong> bot\u00e3o. Ele analisa a l\u00f3gica do pr\u00e9-processador e sugere corre\u00e7\u00f5es automaticamente.<\/p>\n<\/li>\n<\/ul>\n<h3 data-nodeid=\"19880\">2. Design Modular com Inclus\u00f5es<\/h3>\n<p data-nodeid=\"19881\">Embora o VPasCode seja baseado em navegador, voc\u00ea pode simular modularidade organizando seu c\u00f3digo em blocos l\u00f3gicos. Para fluxos de trabalho locais, voc\u00ea usaria <code data-backticks=\"1\" data-nodeid=\"20040\">!include<\/code>, mas no VPasCode, voc\u00ea pode manter vari\u00e1veis compartilhadas no topo do seu script para f\u00e1cil acesso.<\/p>\n<h3 data-nodeid=\"19882\">3. Exporta\u00e7\u00e3o para Documenta\u00e7\u00e3o<\/h3>\n<p data-nodeid=\"19883\">Quando seu diagrama din\u00e2mico estiver finalizado:<\/p>\n<ul data-nodeid=\"19884\">\n<li data-nodeid=\"19885\">\n<p data-nodeid=\"19886\"><strong data-nodeid=\"20048\">SVG:<\/strong> Melhor para documenta\u00e7\u00e3o t\u00e9cnica onde escalabilidade e pesquisabilidade de texto s\u00e3o necess\u00e1rias.<\/p>\n<\/li>\n<li data-nodeid=\"19887\">\n<p data-nodeid=\"19888\"><strong data-nodeid=\"20053\">PNG:<\/strong> Ideal para compartilhamento r\u00e1pido no Slack, Teams ou em comunica\u00e7\u00f5es por e-mail.<\/p>\n<\/li>\n<\/ul>\n<hr data-nodeid=\"19889\"\/>\n<h2 data-nodeid=\"19890\">7. Melhores Pr\u00e1ticas para C\u00f3digo Mant\u00edvel<\/h2>\n<ol data-nodeid=\"19891\">\n<li data-nodeid=\"19892\">\n<p data-nodeid=\"19893\"><strong data-nodeid=\"20065\">Conven\u00e7\u00f5es de Nomenclatura:<\/strong> Use camelCase ou snake_case de forma consistente (por exemplo, &#8220;<code data-backticks=\"1\" data-nodeid=\"20061\">$dbName<\/code> ou &#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 Padr\u00e3o:<\/strong> Sempre use &#8220;<code data-backticks=\"1\" data-nodeid=\"20070\">?=<\/code> para vari\u00e1veis que podem ser sobrescritas em diferentes ambientes.<\/p>\n<\/li>\n<li data-nodeid=\"19896\">\n<p data-nodeid=\"19897\"><strong data-nodeid=\"20077\">Coment\u00e1rios:<\/strong> Adicione coment\u00e1rios acima dos blocos de vari\u00e1veis para explicar seu prop\u00f3sito, especialmente para configura\u00e7\u00f5es JSON.<\/p>\n<\/li>\n<li data-nodeid=\"19898\">\n<p data-nodeid=\"19899\"><strong data-nodeid=\"20082\">Mantenha a L\u00f3gica Simples:<\/strong> Embora o PlantUML suporte loops e condicionais, l\u00f3gica excessivamente complexa pode tornar os diagramas dif\u00edceis de ler. Use vari\u00e1veis para configura\u00e7\u00e3o, n\u00e3o para construir toda a l\u00f3gica da aplica\u00e7\u00e3o.<\/p>\n<\/li>\n<\/ol>\n<hr data-nodeid=\"19900\"\/>\n<h2 data-nodeid=\"19901\">Conclus\u00e3o<\/h2>\n<p class=\"\" data-nodeid=\"19902\">Ao dominar vari\u00e1veis e diretivas de pr\u00e9-processamento no PlantUML, voc\u00ea transforma seus diagramas de imagens est\u00e1ticas em documenta\u00e7\u00e3o viva. Usar &#8220;<strong data-nodeid=\"20089\">VPasCode&#8221;<\/strong> simplifica esse processo com suas capacidades de edi\u00e7\u00e3o aprimorada por IA e visualiza\u00e7\u00e3o em tempo real, permitindo que voc\u00ea se concentre na arquitetura em vez da sintaxe. Comece a experimentar atribui\u00e7\u00f5es condicionais e fun\u00e7\u00f5es personalizadas hoje para criar modelos de diagrama mais resilientes e reutiliz\u00e1veis.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introdu\u00e7\u00e3o O mecanismo de pr\u00e9-processamento do PlantUML transforma c\u00f3digo est\u00e1tico de diagramas em modelos din\u00e2micos e reutiliz\u00e1veis. Quando combinado com<\/p>\n","protected":false},"author":11,"featured_media":12321,"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,120],"tags":[],"asset-category":[],"class_list":["post-12320","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>Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode - Cibermediano<\/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\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode - Cibermediano\" \/>\n<meta property=\"og:description\" content=\"Introdu\u00e7\u00e3o O mecanismo de pr\u00e9-processamento do PlantUML transforma c\u00f3digo est\u00e1tico de diagramas em modelos din\u00e2micos e reutiliz\u00e1veis. Quando combinado com\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\" \/>\n<meta property=\"og:site_name\" content=\"Cibermediano\" \/>\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=\"Tempo estimado de leitura\" \/>\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\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"},\"author\":{\"name\":\"curtis\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"headline\":\"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode\",\"datePublished\":\"2026-10-14T07:24:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"},\"wordCount\":952,\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/10\/img_6acf2d8d765e7.png\",\"articleSection\":[\"AI\",\"VPasCode Editor\"],\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\",\"url\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\",\"name\":\"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode - Cibermediano\",\"isPartOf\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/10\/img_6acf2d8d765e7.png\",\"datePublished\":\"2026-10-14T07:24:34+00:00\",\"author\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage\",\"url\":\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/10\/img_6acf2d8d765e7.png\",\"contentUrl\":\"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/10\/img_6acf2d8d765e7.png\",\"width\":1402,\"height\":1122},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.cybermedian.com\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#website\",\"url\":\"https:\/\/www.cybermedian.com\/pt\/\",\"name\":\"Cibermediano\",\"description\":\"Aprendendo uma coisa nova todos os dias\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.cybermedian.com\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d\",\"name\":\"curtis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/www.cybermedian.com\/pt\/#\/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\/pt\/author\/curtis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode - Cibermediano","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\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","og_locale":"pt_PT","og_type":"article","og_title":"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode - Cibermediano","og_description":"Introdu\u00e7\u00e3o O mecanismo de pr\u00e9-processamento do PlantUML transforma c\u00f3digo est\u00e1tico de diagramas em modelos din\u00e2micos e reutiliz\u00e1veis. Quando combinado com","og_url":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","og_site_name":"Cibermediano","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","Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#article","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"author":{"name":"curtis","@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"headline":"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode","datePublished":"2026-10-14T07:24:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"},"wordCount":952,"image":{"@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/10\/img_6acf2d8d765e7.png","articleSection":["AI","VPasCode Editor"],"inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","url":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/","name":"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode - Cibermediano","isPartOf":{"@id":"https:\/\/www.cybermedian.com\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"image":{"@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage"},"thumbnailUrl":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/10\/img_6acf2d8d765e7.png","datePublished":"2026-10-14T07:24:34+00:00","author":{"@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d"},"breadcrumb":{"@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#primaryimage","url":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/10\/img_6acf2d8d765e7.png","contentUrl":"https:\/\/www.cybermedian.com\/pt\/wp-content\/uploads\/sites\/11\/2026\/10\/img_6acf2d8d765e7.png","width":1402,"height":1122},{"@type":"BreadcrumbList","@id":"https:\/\/www.cybermedian.com\/pt\/mastering-variables-and-preprocessor-directives-in-plantuml-with-vpascode\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.cybermedian.com\/pt\/"},{"@type":"ListItem","position":2,"name":"Dominando Vari\u00e1veis e Diretivas do Pr\u00e9-processador no PlantUML com VPasCode"}]},{"@type":"WebSite","@id":"https:\/\/www.cybermedian.com\/pt\/#website","url":"https:\/\/www.cybermedian.com\/pt\/","name":"Cibermediano","description":"Aprendendo uma coisa nova todos os dias","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.cybermedian.com\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Person","@id":"https:\/\/www.cybermedian.com\/pt\/#\/schema\/person\/016578d8c88d35825fd3fbafc4f76b4d","name":"curtis","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/www.cybermedian.com\/pt\/#\/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\/pt\/author\/curtis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts\/12320","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/comments?post=12320"}],"version-history":[{"count":0,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/posts\/12320\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/media\/12321"}],"wp:attachment":[{"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/media?parent=12320"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/categories?post=12320"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/tags?post=12320"},{"taxonomy":"asset-category","embeddable":true,"href":"https:\/\/www.cybermedian.com\/pt\/wp-json\/wp\/v2\/asset-category?post=12320"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}