0
如何识别Erlang中的德语变音符号?我现在试了几天,当我看到一个文本列表,它只是没有得到它们。我想这对于例如Erlang识别变音符号
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;
它只是通过了所有的参数没有匹配,直到真的... 谢谢你的帮助。
顺便说一句,你宁愿在Erlang中使用模式匹配而不是'if',就像'change_umlaut([$ü| T),Acc) - > change_umlaut(T,[“ue”| Acc]);'。 – Tilman