binary:replace(binary:replace(binary:replace(Data, <<"\\s">>, <<" ">>), <<"\\n">>, <<$\n>>), <<"\\\\">>, <<"\\">>).Я не хочу скобочки, я хочу хацкель.
впрочем, это всё равно кривой костыль и надо переделывать на посимвольное чтение.
пиши плюсомодули, чо
спасибо, поблевал
Сначала подумал, что это сиплюсплюс.
все уже давно знают, что эрланг говно
а вот так выглядит правильное решение задачи:unescape(Data) → list_to_binary(unescape(binary_to_list(Data), [])).unescape("\\\\" ++ Rest, Result) → unescape(Rest, Result ++ "\\");unescape("\\n" ++ Rest, Result) → unescape(Rest, Result ++ "\n");unescape("\\s" ++ Rest, Result) → unescape(Rest, Result ++ " ");unescape([H | Rest], Result) → unescape(Rest, Result ++ [H]);unescape([], Result) → Result.
впрочем, это всё равно кривой костыль и надо переделывать на посимвольное чтение.
пиши плюсомодули, чо
спасибо, поблевал
Сначала подумал, что это сиплюсплюс.
все уже давно знают, что эрланг говно
а вот так выглядит правильное решение задачи:
unescape(Data) →
list_to_binary(unescape(binary_to_list(Data), [])).
unescape("\\\\" ++ Rest, Result) →
unescape(Rest, Result ++ "\\");
unescape("\\n" ++ Rest, Result) →
unescape(Rest, Result ++ "\n");
unescape("\\s" ++ Rest, Result) →
unescape(Rest, Result ++ " ");
unescape([H | Rest], Result) →
unescape(Rest, Result ++ [H]);
unescape([], Result) →
Result.