2011-12-21 25 views
5

我为我的项目运行dialyzer。我:厄兰透析器创建的乐趣没有本地回报

test.erl:97: The created fun has no local return 

在97行,我有:

List = lists:filter(fun(X) -> 
           {_, _, SomeBoolFlag} = X, 
           SomeBoolFlag == false 
         end, 
       TestList) 

有什么不对?

谢谢。

+1

只使用所提供的代码,我不能重现此警告。请提供更多背景。 – aronisstav 2011-12-21 11:10:13

回答

11

看来dialyzer已经发现TestList可以包含除了{_, _, SomeBoolFlag}元组以外的东西。

,你也可以简化这个代码位:

List = lists:filter(fun({_, _, Flag}) -> not Flag end, TestList) 

或:

List = [Item || Item={_, _, false} <- TestList]