Каков рекомендуемый способ удаления пробела из символа [] в D., например, используя dmd 2.057, который у меня есть,
import std.stdio;
import std.string;
import std.algorithm;
char[] line;
int main(){
line = r"this is a line with spaces ";
line = removechars(line," ");
writeln(line);
return 0;
}
При компиляции это сгенерирует эту ошибку:
Error: cannot implicitly convert expression ("this is a line with spaces ") of type string to char[]
Error: template std.string.removechars(S) if (isSomeString!(S)) does not match any function template declaration
Error: template std.string.removechars(S) if (isSomeString!(S)) cannot deduce template function from argument types !()(char[],string)
При выполнении поиска в Google я обнаружил, что похожая ошибка была зарегистрирована как ошибка и была подана в июне 2011 года, но я не уверен, ссылалась ли она на то же самое илидругая проблема.
В общем, какой подход рекомендуется для удаления определенных символов из строки и определения порядка символов из предыдущего массива символов?
В этом случае вернуть
assert(line == "thisisalinewithspaces")
после удаления пробельных символов