Как я могу определить немецкие умлауты в Эрланге? Я пробовал уже несколько дней, когда читаю текст как список, он просто не получает их. Я попробовал это, напримерErlang define umlauts
change_umlaut(Word) -> change_umlaut(lists:reverse(Word), []).
change_umlaut([],Acc) -> Acc;
change_umlaut([H|T],Acc) ->
if
%extended ascii characters
H =:= 129 -> change_umlaut(T, ["ue"|Acc]);
H =:= 132 -> change_umlaut(T, ["ae"|Acc]);
H =:= 148 -> change_umlaut(T, ["oe"|Acc]);
%extended ascii characters
H == 129 -> change_umlaut(T, ["ue"|Acc]);
H == 132 -> change_umlaut(T, ["ae"|Acc]);
H == 148 -> change_umlaut(T, ["oe"|Acc]);
%literals
H == "ü" -> change_umlaut(T, ["ue"|Acc]);
H == "ä" -> change_umlaut(T, ["ae"|Acc]);
H == "ö" -> change_umlaut(T, ["oe"|Acc]);
%else
true -> change_umlaut(T, [H|Acc])
end;
он просто передает все аргументы без согласования не до тех пор, правда ... Спасибо за вашу помощь.
Кстати, вам лучше использовать сопоставление с образцом, чем 'if' в Erlang, например' change_umlaut ([$ ü | T), Acc) -> change_umlaut (T, ["ue" | Acc]); '. – Tilman