Indonesian Flag Fixer pt-br Explainer

Explicação do Reparador da bandeira da Indonésia

Objetivo do desafio: Usar a função .replace() para corrigir um erro em uma string.

Passo a passo da solução: Na linha 1, a variável flag contém a string 'rrr wwg'. Na linha 2, essa string será usada como argumento para a função drawBoxes().

A bandeira da Indonésia tem 2 cores: uma listra vermelha e uma listra branca. Infelizmente, o ‘g’ em ‘rrr wwg’ significa que DrawBoxes() colocará, por engano, uma caixa verde na bandeira. Podemos usar a função .replace() para corrigir este erro. Dentro da função drawBoxes(), .replace() é adicionado ao final de flag. Essa função procurará uma string alvo dentro de flag e substituirá por uma nova string.

Dentro dos parênteses, .replace() usa 2 argumentos, a string alvo 'g' e a string substituta 'w'. Quando o código for executado, .replace() encontrará o 'g' em 'rrr wwg' e o substituirá por um 'w'. Em seguida, drawBoxes() desenhará a bandeira correta da Indonésia.

É importante notar que a função .replace() substituirá apenas a 1ª correspondência que encontrar. Se a string contivesse dois 'g's, somente o 1º (o mais à esquerda) seria substituído. Este post explica como se poderia “substituir todos”.

Solução do código de exemplo:


var flag = 'rrr wwg';

drawBoxes(flag.replace('g', 'w'));

Conceitos de JavaScript: Variáveis, Strings, .replace()

Conceitos do Grasshopper: drawBoxes()