有人可以向我解释为什么以下代码可以解决Erlang中pangram的问题吗?
139> Sentence.
"abcdefghijklmnopqrstuvwxyz"
140> lists:all(lists:seq($a, $z), fun(X) -> lists:member(X, Sentence) end).
** exception error: no function clause matching lists:all("abcdefghijklmnopqrstuvwxyz",#Fun<erl_eval.6.99386804>) (lists.erl, line 1212)
答案 0 :(得分:1)
你的参数顺序错了。 Erlang中大多数需要函数和术语的函数首先需要函数参数。
1> Sentence = "abcdefghijklmnopqrstuvwxyz".
"abcdefghijklmnopqrstuvwxyz"
2> lists:all(fun(X) -> lists:member(X, Sentence) end, lists:seq($a, $z)).
true