사용자가 로그인했는지 여부를 추적해야하는 기능적 프로그래밍 스타일의 코드를 작성하고 싶습니다. 나는 불변의 방식으로 일을해야한다고 생각합니다.기능 프로그래밍의 상태 변경
다음의 의사 코드는 기능적으로 보입니다. 상태를 취해 그 역의 값을 돌려줍니다. 그것은 부작용 내 논리 어딘가에
changeState(Boolean state){
return !state
}
을 가지고 있지되면 사용자가 로그인 (또는 로그 아웃), I 상태에서 로그인 한 것이 현재의 값을 전달 위의 함수를 호출 할 수 있습니다. 나는 기능적으로 로그인 상태를 저장하는 방법을 생각할 수 없다. currentLoggedState가 val이기 때문에 잘못되었습니다.
val currentLoggedState = false;
//user entered login details correctly, change state
currentLoggedState = changeState(currentLoggedState)
어떻게 이러한 논리를 기능적 방법으로 작성할 수 있습니까?
이 스레드는 가치가 있습니다 : [얼랭에서 상태를 유지하는 방법은?] (https://stackoverflow.com/questions/26713811/how-to-maintain-state-in-erlang), 구체적으로 시작하는 예제 "파스칼의 답을 되풀이하자면, 매우 제한된 방식으로 : '루프 (상태) 수신' – jq170727