Как написать символы, не являющиеся словами, в фрагменте кода javascript для игры в слова в стиле «MadLibs»?

#javascript #blank-line

#javascript #пустая строка

Вопрос:

Я нахожусь на freeCodeCamp, и мне нужно создать игру в слова в стиле «Mad Libs» (назовем ее «Word Blanks». Я должен создать предложение в стиле «Заполнить пробелы».

В игре «Mad Libs» вам предлагаются предложения с некоторыми пропущенными словами, такими как существительные, глаголы, прилагательные и наречия. Затем вы заполняете недостающие фрагменты словами по вашему выбору таким образом, чтобы законченное предложение имело смысл.

Рассмотрим это предложение — «Это было действительно ____, и мы ____ сами ____». В этом предложении не хватает трех частей — прилагательного, глагола и наречия, и мы можем добавить слова по нашему выбору, чтобы дополнить его. Затем мы можем присвоить законченное предложение переменной следующим образом:

var sentence = «Это было действительно» «горячо» «, и мы» «смеялись» «сами» «глупо».;

Учитывая приведенные выше инструкции, мне были предоставлены существительное, глагол, прилагательное и наречие. Мне нужно составить полное предложение, используя слова по моему выбору, а также слова, которые мне были предоставлены.

Мне нужно будет использовать оператор конкатенации строк для создания новой строки, используя предоставленные переменные: myNoun, myAdjective, myVerb и myAdverb. Затем я присвою сформированную строку переменной результата.

Мне также нужно будет учитывать пробелы в моей строке, чтобы в последнем предложении были пробелы между всеми словами. Результатом должно быть полное предложение.

Теперь я написал следующий код, чтобы выполнить приведенное выше упражнение:

 function wordBlanks(myNoun, myAdjective, myVerb, myAdverb) {

  var myNoun = "___";
  var myAdjective = "___";
  var myVerb = "___";
  var myAdverb = "___";    

  var result = "my "   myAdjective   myNoun   "loves to "   myVerb   "very " 
    myAdverb;

  return resu<
}

wordBlanks("dog", "big", "ran", "quickly");
wordBlanks ();
 

Но я получаю следующие ошибки при запуске test:

// запуск тестов Пробелы в словах («собака», «большой», «побежал», «быстро») должны содержать все переданные слова, разделенные несловесными символами (и любые дополнительные слова в вашем madlib). Пробелы в словах («кошка», «маленький», «удар», «медленно») должны содержать все переданные слова, разделенные несловесными символами (и любые дополнительные слова в вашем madlib). // тесты завершены

Что здесь должно быть «все переданные в словах, разделенных несловесными символами (и любыми дополнительными словами в вашем madlib)»?


Редактировать

Я изменил код соответственно следующему и теперь работает. Тест не удался, потому что слова, указанные в переменных, должны были быть заменены другими, а также потому, что в результате var в функции отсутствовали дополнительные слова и пробелы —>

 function wordBlanks(myNoun, myAdjective, myVerb, myAdverb) {
  // Your code below this line
  var result = "I have a "   myAdjective   " bed and the "   myNoun   " always "   myVerb   " very "   myAdverb;

  // Your code above this line
  return resu<
}

// Change the words here to test your function
wordBlanks("cat", "little", "hit", "slowly");
 

Следовательно, отсутствующими «несловесными» символами были пробелы и дополнительные части предложения (я добавил следующее вместе с предоставленными словами: «У меня есть «, «кровать и «, » всегда » и «очень » ).

Ответ №1:

Похоже, что тест проверяет выходную строку, чтобы убедиться, что она содержит каждое из переданных слов, а также чтобы убедиться, что они разделены чем-то, например, пробелами, пунктуацией и другими словами.

Он терпит неудачу, потому что вы перезаписываете каждый из входных данных следующим образом: "___" . Таким образом, входные слова теряются и не попадают в выходное предложение.

Ответ №2:

Вероятно, проблема в этой части: myAdjective myNoun обратите внимание, что между ними нет пробела. Попробуйте изменить на myAdjective " " myNoun и посмотрите, работает ли это.

Ответ №3:

Я думаю, вы забыли добавить пробелы вокруг прилагательного, существительного и после глагола

Ответ №4:

 var myNoun = "dog";
var myAdjective = "big";
var myVerb = "ran";
var myAdverb = "quickly";


var wordBlanks = myNoun   " "   myVerb   " "   myAdjective   " "  myAdverb   " " ;
 

Попробуйте это, сработает!

Ответ №5:

Я думаю, вы забыли поставить пробелы между словами и точку в конце предложения.

 var myNoun = "dog";
var myAdjective = "big";
var myVerb = "ran";
var myAdverb = "quickly";

// Only change code below this line
var wordBlanks = "My "   myAdjective   " "   myNoun   " "   myVerb   " "   myAdverb   "."; // Change this line
// Only change code above this line 

Комментарии:

1. Я думаю, вы забыли поставить пробелы между словами и точку в конце предложения. Надеюсь, это поможет.