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()