%% 函数even_print(List),获取一个列表并返回一个仅包含偶数的列表。函数 Even_odd(X) 接受一个整数并判断它是偶数还是奇数。
even_print(List) ->
[X||X<-List, even<-even_odd(X)].
我不明白为什么会收到此错误:
3> seq_erlang:even_print([2,3,4]).
** exception error: no function clause matching
seq_erlang:'-even_print2/1-lc$^1/1-1-'(even) (seq_erlang.erl, line 154)
只是为了发表评论,我已经实现了另一个可以很好地打印偶数的函数(所以请不要对其他实现进行评论)。我只需要这方面的帮助。
最佳答案
应该是even == even_odd(X)
而不是使用<-
。列表推导式有两种类型的“子句”:那些用 <-
映射列表的子句。 ,以及使用不包含 <-
的保护或 bool 表达式过滤掉不需要的组合的组合。 .
(第三种方法:使用 <=
从二进制文件中提取字节;但这种方法很少使用。)
关于list - Erlang-我的列表理解中的编码功能似乎不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25847059/