우리의 임무는 목록의 각 요소를 최대치로 나누는 normalize/1 함수를 작성하는 것이 었습니다.BIF와 목록을 사용한 Erlang 예외 오류 : maps
normalize(List) ->
Z = lists:max(List),
[ X/Z || X <- List].
가 지금은 정상화와 동일하게 수행 normalize2라는 함수를 작성해야/: 여기
지금까지 (대신 내 자신의 작성 기능, 나는이 최대를 찾는 일에 내장 사용) 내 코드입니다 그러나 1 개 사용 나열지도/2normalize2(List) -> lists:map(fun normalize/1, List).
터미널이 보여
TEST3 : normalize2 ([1,2,3,5]). ** 예외 오류 : 목록에 일치하는 함수 절이 없습니다. max (1) (lists.erl, 313) function test3 : normalize/1 (test3.erl, 85 줄) 목록에서 호출 : map/2 lists.erl 라인 1224)
UPDATE : normalize2 ([1 :
TEST3 : I 단자 나 쇼^find_max 사용
find_max([T]) ->
T;
find_max([H,H1|T]) when H > H1->
find_max([H,T]);
find_max([_H,H1|T])->
find_max([H1|T]).
경우
을 Heres find_max/1 2,3,5]). ** 예외 오류 : function3과 일치하는 함수 절이 없습니다. test3 : find_max (1) (test3.erl, line 137) function test3 : normalize/1 (test3.erl, 84 줄) 목록에서 호출 : map/2 lists.erl, line 1224)
라인 137은 find_max ([T]) -> T이다. 줄 84는 Z = find_max (목록),
normalize/1에서 자체 find_max/1 함수를 사용하면 동일한 오류가 표시되지만 "함수 절 일치 목록 : max (1)"대신 목록과 일치하는 함수 절이 없습니다. max (1) , 0). – Gabriele