Difference between r1.5 and the current
@@ -21,5 +21,16 @@
jollySub(H, [HH|T], Res) ->
jollySub(HH, T, Res++[abs(H-HH)]).
}}}
LittleAOI, JollyJumpers
jollySub(HH, T, Res++[abs(H-HH)]).
}}}
위의 코드에 다음과 같이 메시지를 받는 함수를 작성하면, 이 함수를 생성하고 메시지로 리스트를 전달하면 똑같이 이용할 수 있다.
{{{
jollyInt() ->
receive
H -> jolly(H)
end.
> Pid = spawn(jolly:jollyInt/0).
> Pid ! [4,1,3,2].
}}}
----LittleAOI, JollyJumpers
% 리스트에서 인접한 값의 차가 들어있는 리스트를 sort 해서 리스트 원소의 합과 가우스 합(?)을 비교. % io 부분 추가해야 함. -module(jolly). -compile(export_all). jolly([H|T]) -> jollyResult([H|T], lists:usort(jollySub(H, T, []))). jollyResult(Ori, Res) -> case (length(Ori)-1 =:= length(Res) andalso lists:sum(Res) =:= trunc((hd(Res)+lists:last(Res))*length(Res)/2)) of true -> io:format("Jolly~n"); false -> io:format("Not Jolly~n") end. %앞의 것과 뒤의 아이템을 빼서 새 리스트에 더함.. jollySub(H, [], Res) -> Res; jollySub(H, [HH|T], Res) -> jollySub(HH, T, Res++[abs(H-HH)]).
위의 코드에 다음과 같이 메시지를 받는 함수를 작성하면, 이 함수를 생성하고 메시지로 리스트를 전달하면 똑같이 이용할 수 있다.
jollyInt() -> receive H -> jolly(H) end. > Pid = spawn(jolly:jollyInt/0). > Pid ! [4,1,3,2].