#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. Я думаю, вы забыли поставить пробелы между словами и точку в конце предложения. Надеюсь, это поможет.