为什么没有列出:所有在erlang中为pangram工作

时间:2018-04-21 23:48:01

标签: erlang pangram

有人可以向我解释为什么以下代码可以解决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)

1 个答案:

答案 0 :(得分:1)

你的参数顺序错了。 Erlang中大多数需要函数和术语的函数首先需要函数参数。

1> Sentence = "abcdefghijklmnopqrstuvwxyz".
"abcdefghijklmnopqrstuvwxyz"
2> lists:all(fun(X) -> lists:member(X, Sentence) end, lists:seq($a, $z)).
true