2
목록이 있다고 가정하면 [A]
입니다. 일부 술어를 만족하면 목록의 특정 요소를 업데이트하려고합니다. 그러나 그런 요소가 없다면 먼저 목록에 요소를 추가하고 싶습니다. 내 현재 솔루션은 거기에없는 경우 목록에 요소를 삽입하기위한 수동 함수를 작성한 다음 filtered
통과를 사용하여 요소를 업데이트합니다. 이와 같이 :'렌즈'가없는 경우 목록에 요소를 추가하는 방법은 무엇입니까?
더 나은 (더 짧고 관용적 인) 솔루션이 있는지 궁금합니다. 가능한 경우에만 microlens
패키지 패밀리를 사용하는 솔루션을 감사하겠습니다.
@chepner 매우 가까이 있지만 정확하게는 아닙니다. 보시다시피 목록을 사용하고 있으므로 효율이 최우선 순위가 아닙니다. 내 솔루션은 이미 충분히 효율적이라고 생각할 수도 있지만 목록을 한 번만 통과하는 것으로 간주 할 수도 있습니다. 나는 짧은 양식 (효율성의 큰 손실없이)을 원한다. 그리고 저는 렌즈를 사용하는 솔루션에 관심이 있습니다 (렌즈가 없기 때문에 스스로 할 수 있습니다). 차이점은 양식에서'myUpdate'는 요소를 수정할지 여부를 확인해야합니다. 내 양식에서'map myUpdate'는 목록의 모든 요소를 변경합니다. 그러나 당신의 생각은 내가 원하는 것에 매우 가깝습니다. – Shersh
오, 죄송합니다. 나는 당신이 정말로 원했던 것을 알아 냈고, 내 코멘트를 삭제하는 것을 잊었습니다. – chepner