2014-09-15 3 views
2

%% 기능 even_print (List), 목록을 취하여 짝수의 목록 만 반환합니다. 함수 even_odd (X)는 정수를 취해 그것이 짝수인지 홀수인지를 알려줍니다.Erlang- 내 목록의 인코딩 기능이 작동하지 않는 것 같습니까?

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) 

그냥 내가 이미 짝수가 잘 (그래서 서로 언급하지 마십시오 인쇄 다른 기능을 구현 한 의견을을 구현). 이건 도움이 필요해.

답변

2

<- 대신 even == even_odd(X)이어야합니다. 목록 이해에는 <-이라는 목록에 매핑되는 두 가지 유형의 "절"과 <-을 포함하지 않는 가드 또는 부울 식을 사용하여 원하지 않는 조합을 필터링하는 두 가지 유형의 "절"이 있습니다.

(세 번째 : <=을 사용하여 이진에서 바이트를 추출하지만 그 중 하나는 거의 사용되지 않습니다.)

관련 문제