Skip to content

🚀 Validação de Atribuição para Vetores e Matrizes na Declaração#369

Open
maikvinicius wants to merge 3 commits intodgadelha:mainfrom
maikvinicius:main
Open

🚀 Validação de Atribuição para Vetores e Matrizes na Declaração#369
maikvinicius wants to merge 3 commits intodgadelha:mainfrom
maikvinicius:main

Conversation

@maikvinicius
Copy link

📌 Descrição

Este PR adiciona validações para garantir que a atribuição de vetores e matrizes respeite os tamanhos declarados, evitando erros de execução e melhorando a confiabilidade do código.

🔍 Alterações Principais

🟢 Matrizes

  • Valida se os tamanhos das linhas e colunas foram informados corretamente.
  • Verifica se a quantidade de elementos atribuídos excede as dimensões da matriz.
  • Lança um erro caso a atribuição ultrapasse os limites definidos.

🟢 Vetores

  • Confere se o tamanho do vetor foi especificado corretamente.
  • Garante que o número de valores atribuídos não seja maior do que o tamanho do vetor.
  • Lança um erro caso a atribuição ultrapasse os limites declarados.

✅ Benefícios

✔️ Evita atribuições incorretas que poderiam causar comportamentos inesperados.
✔️ Garante maior robustez e previsibilidade no uso de vetores e matrizes.
✔️ Melhora a clareza das mensagens de erro para o usuário.

🧪 Testes & Considerações

  • Foram adicionadas verificações para cobrir os casos em que os tamanhos não são informados.
  • Os erros são capturados e reportados via captureException para facilitar a depuração.

📌 Pronto para revisão! 🚀

Copy link
Owner

@dgadelha dgadelha left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Obrigado pela contribuição e desculpa pela demora na revisão :)

Deixei uns comentários que são importantes de serem resolvidos para que o PR possa ser mergeado.

@dgadelha dgadelha requested a review from Copilot April 13, 2025 22:49
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot reviewed 1 out of 1 changed files in this pull request and generated 1 comment.

Comments suppressed due to low confidence (1)

packages/runtime/src/PortugolJs.ts:1029

  • Consider trimming each element in items_array (e.g., using items_array.map(item => item.trim())) to handle any unexpected whitespace in the assigned values.
const items_array = match ? match[1].split(",") : [];

Comment on lines +929 to +930
const linhas = matrizStr?.split("},{");
const tamanho_matriz = linhas?.map(linha => linha.split(",").length);
Copy link

Copilot AI Apr 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Consider trimming whitespace for each entry after splitting the matrix string (e.g., using linhas.map(l => l.trim())) to ensure robust parsing regardless of extra spaces.

Suggested change
const linhas = matrizStr?.split("},{");
const tamanho_matriz = linhas?.map(linha => linha.split(",").length);
const linhas = matrizStr?.split("},{").map(l => l.trim());

Copilot uses AI. Check for mistakes.
@maikvinicius maikvinicius requested a review from dgadelha March 4, 2026 16:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants