3.6 KiB
id, title, challengeType, videoUrl, forumTopicId, dashedName
id | title | challengeType | videoUrl | forumTopicId | dashedName |
---|---|---|---|---|---|
56533eb9ac21ba0edf2244bb | Preencher espaços em branco | 1 | https://scrimba.com/c/caqn8zuP | 18377 | word-blanks |
--description--
Vamos agora usar nosso conhecimento de strings para criar um "Mad Libs" estilo de jogo de palavras que chamamos de "Palavras em Branco". Você criará uma frase no estilo "Preencha os espaços em branco" (opcional: de modo engraçado).
Em um jogo de "Mad Libs", você recebe frases com algumas palavras faltando, como substantivos, verbos, adjetivos e advérbios. Você então preencherá os pedaços faltantes com palavras de sua escolha de modo que a frase completa faça sentido.
Considere a frase - Era realmente ____ e nós ____ nós mesmos ____. Essa frase possui três pedaços faltando - um adjetivo, um verbo e um advérbio, e nós podemos adicionar palavras de nossa escolha para completar. Em seguida, podemos atribuir a frase completa para uma variável como se segue:
const sentence = "It was really " + "hot" + ", and we " + "laughed" + " ourselves " + "silly" + ".";
--instructions--
Nesse desafio, nós fornecemos a você um substantivo, um verbo, um adjetivo e um advérbio. Você precisar formular uma frase completa usando palavras de sua escolha, junto com as palavras que nós fornecemos.
Você precisará usar o operador de concatenação de string +
para criar uma nova string, usando as variáveis fornecidas: myNoun
, myAdjective
, myVerb
e myAdverb
. Em seguida, você atribuirá a string formada para a variável wordBlanks
. Você não deve alterar as palavras atribuídas às variáveis.
Você também precisará se responsabilizar por espaços em sua string, para que na frase final possua espaços entre todas as palavras. O resultado não deve ser uma frase completa.
--hints--
wordBlanks
deve ser uma string.
assert(typeof wordBlanks === 'string');
Você não deve alterar os valores atribuídos a myNoun
, myVerb
, myAdjective
ou myAdverb
.
assert(
myNoun === 'dog' &&
myVerb === 'ran' &&
myAdjective === 'big' &&
myAdverb === 'quickly'
);
Você não deve usar diretamente os valores dog
, ran
, big
ou quickly
para criar wordBlanks
.
const newCode = removeAssignments(code);
assert(
!/dog/.test(newCode) &&
!/ran/.test(newCode) &&
!/big/.test(newCode) &&
!/quickly/.test(newCode)
);
wordBlanks
deve conter todas as palavras atribuídas às variáveis myNoun
, myVerb
, myAdjective
e myAdverb
separadas por caracteres que não sejam palavras (e qualquer palavra adicional na sua madlib).
assert(
/\bdog\b/.test(wordBlanks) &&
/\bbig\b/.test(wordBlanks) &&
/\bran\b/.test(wordBlanks) &&
/\bquickly\b/.test(wordBlanks)
);
--seed--
--after-user-code--
const removeAssignments = str => str
.replace(/myNoun\s*=\s*["']dog["']/g, '')
.replace(/myAdjective\s*=\s*["']big["']/g, '')
.replace(/myVerb\s*=\s*["']ran["']/g, '')
.replace(/myAdverb\s*=\s*["']quickly["']/g, '');
--seed-contents--
const myNoun = "dog";
const myAdjective = "big";
const myVerb = "ran";
const myAdverb = "quickly";
// Only change code below this line
const wordBlanks = ""; // Change this line
// Only change code above this line
--solutions--
const myNoun = "dog";
const myAdjective = "big";
const myVerb = "ran";
const myAdverb = "quickly";
let wordBlanks = "Once there was a " + myNoun + " which was very " + myAdjective + ". ";
wordBlanks += "It " + myVerb + " " + myAdverb + " around the yard.";