트랙
/
Idris
Idris
/
연습 문제
/
렌즈 사용자
렌즈 사용자

렌즈 사용자

어려움

지침

중첩된 레코드를 갱신할 때는 렌즈를 사용해요(불변 데이터를 다루는 언어에 해당해요).

중첩된 불변 레코드의 필드를 갱신하는 일은 꽤 번거로워요. 그런 경우의 코드는 구조가 깊은 만큼이나 장황해져요. 예를 들어 Person이라는 레코드가 있고, 그 안에 Address가, Address 안에 Street가, Street 안에 Number가 있다고 해봐요. Number를 갱신하려면 새 Number를 담은 새 Street를 만들고, 그 새 Street를 담은 새 Address를 만들고, 마지막으로 그 새 Address를 담은 새 Person을 만들어야 해요. 벌써부터 헷갈리죠?

이 문제를 해결하는 한 가지 방법은 렌즈를 사용하는 거예요.

렌즈를 사용해 레코드에 접근하는 함수 몇 개를 구현해 봐요. 테스트 스위트는 렌즈를 아예 쓰지 않고도 여러 가지 접근 방식을 실험해 볼 수 있도록 허용해요.

GitHub에서 편집 링크가 새 창이나 탭에서 열려요
Idris Exercism

렌즈 사용자 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 Idris 트랙을 연습 문제 58개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.