Есть функция AppendLastSlashIfNotExist
, которую я сделал.
Сегодня я решил сделать другую функцию AppendLastBackSlashIfNotExist
wstring AppendLastSlashIfNotExist(__in const wstring& path)
{
if (path == L"/")
{
return path;
}
if (path.size() == 0 || path[path.size() - 1] != L'/')
{
return path + L"/";
}
return path;
}
wstring AppendLastBackSlashIfNotExist(__in const wstring& path)
{
if (path == L"\\")
{
return path;
}
if (path.size() == 0 || path[path.size() - 1] != L'\\')
{
return path + L"\\";
}
return path;
}
Да, это отстой.Только Slash -> BackSlash - это изменение.Я хотел удалить дубликаты.
wstring AppendLastSlashIfNotExist(__in const wstring& path, bool backSlash)
{
if (path == (backSlash ? L"\\" : L"/"))
{
return path;
}
if (path.size() == 0 || path[path.size() - 1] != (backSlash ? L'\\' : L'/'))
{
return path + (backSlash ? L"\\" : L"/");
}
return path;
}
Я интегрировал их.Дублирование удалено.Но появился дополнительный параметр.Я все еще чувствую себя некомфортно.Нет ли других способов удалить дублирование?Например, используя функцию высокого порядка.
Любая идея, пожалуйста.