我在Erlang中遇到一个小问题.我想返回一个字符串的所有元音的列表.例如:
vowels:conditional("AGGEHA").
["A","E","A"]
Run Code Online (Sandbox Code Playgroud)
这是建议的代码:
-module(vowels).
-compile([export_all]).
isvowel('') -> false;
isvowel(C) -> if
C =:= "A" -> true;
C =:= "E" -> true;
C =:= "I" -> true;
C =:= "O" -> true;
C =:= "U" -> true;
true -> false
end.
conditional([]) -> [];
conditional([A|T]) -> case isvowel(A) of
true -> [A] ++ conditional(T);
false -> [1] ++ conditional(T)
end.
Run Code Online (Sandbox Code Playgroud)
问题是当我使用该conditional函数时,它总是返回false(或者在这种情况下,根据字符串的长度返回1的列表(我将其用作调试器)).有谁知道如何解决这个问题?
erlang ×1