인프런 커뮤니티 질문&답변

remember7448님의 프로필 이미지

작성한 질문수

Swift로 함수형 프로그래밍 시작하기

Low-High (FP) -1

재귀함수~

작성

·

259

1

예제에서 while을 재귀함수로 변경하셨는데.. FP에서 재귀함수를 사용해야 하는 무엇인가가 있는건가요??

답변 1

1

송치원님의 프로필 이미지
송치원
지식공유자

FP에서는 state를 갖지 않도록 프로그래밍 하기 위해 노력합니다.
일반적인 while이나 for 를 사용하면 값이 변하는 변수를 갖게 되고, 이 변수가 state 가 됩니다.
최대한 state가 없도록 하려는 방안중 하나로 재귀가 사용되는 것입니다.
state 없이 loop를 사용하는 방법중에 forEachmap 같은 것을 사용할 수도 있습니다.
while을 사용하더라도 state 없이 가능하다면 충분히 사용할 수 있습니다.
예제에서 재귀를 사용했던 것은 state 를 없애고 대신 함수의 입력값으로 처리할 수 있도록 변경하여기 위해서 재귀함수를 사용했던 것입니다.