#c #testing
#c #тестирование
Вопрос:
я следую этому руководству, и они дают нам этот код для тестирования функции isLowerVowel:
#include <iostream>
bool isLowerVowel(char c, bool yIsVowel)
{
switch (c)
{
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
return true;
case 'y':
return (yIsVowel ? true : false);
default:
return false;
}
}
int main()
{
std::cout << std::boolalpha;
std::cout << isLowerVowel('a',false) << "n";
std::cout << isLowerVowel('a',true) << "n";
std::cout << isLowerVowel('q',false) << "n";
std::cout << isLowerVowel('q',true) << "n";
std::cout << isLowerVowel('y',false) << "n";
std::cout << isLowerVowel('y',true) << "n";
return 0;
}
Я не понимаю, для чего используется yIsVowel, разве недостаточно просто протестировать isLowerVowel? Извините, я спросил их, но не получил ответов
Комментарии:
1. Y иногда считается гласной. merriam-webster.com/words-at-play /…
2. Вопрос действительно больше связан с английским языком, а не с программированием. Я должен признать, что это довольно уникальный способ ответить на вопрос о том, почему
y
является особенным.3. Вы запустили программу и посмотрели на результат? Программа разработана таким образом, что выходные данные объясняют использование
yIsVowel
.4. Спасибо вам всем, так что ‘y’ может быть либо согласной, либо гласной. Это полностью проясняет ситуацию!
Ответ №1:
Я не понимаю, для чего используется yIsVowel, разве недостаточно просто протестировать isLowerVowel?
Если бы вы использовали isLowerVowel
функцию для реализации isLowerVowel
функции, у вас была бы рекурсия. Неясно, как эта рекурсия должна быть прекращена.
yIsVowel
кажется, используется для установки, является ли y гласной или нет.
Комментарии:
1.
return (yIsVowel ? true : false);
может быть просто записан какreturn yIsVowel;
2. Однако, если вы посмотрите на ссылку, опубликованную отставным ниндзя, они рассматривают
'y'
как гласную и согласную. Я думаю, что это то, что они пытаются сделать3. @d4rk4ng31 В ссылке говорится, что y иногда считается гласной. Вероятно, поэтому здесь есть аргумент
yIsVowel
. Я думаю, что OP не знает, что они пытаются сделать, потому что они не понимают, зачем нужен аргумент.4. ДА. Возможно, OP точно знает, что делает код, но хочет знать, почему это делается. Вероятно, не знаком со странностью
y
в английском языке в качестве согласной и гласной.