lenses

    15

    2답변

    렌즈 패키지를 배우고 있습니다. 나는 그것이 다소 도전적인 임무라고 말해야 만합니다. 렌즈에서 Zipper를 사용하여 트리를 트래버스하는 방법을 보여 줄 수 있습니까? 특히, 어떻게 뿌리의 목록을 취하고 하위 트리의 가지에 접근 할 수있는 함수를 작성할 수 있습니까? 이 트리가 있다고 가정합니다. 내 입력 [1, 3] 경우, 함수는 정확히 어떻게 내가 (A

    2

    1답변

    을 통해 나는 전략적 게임을 만들고있어 내가, 내가 배운 것을 적용 불변의 데이터를 사용하려고 시도합니다. 내 게임에는 유닛이 있고,이 유닛은 다른 특수 기능을 가질 수 있습니다. 예를 들어 일부 비행기는 자신을 숨길 수 있습니다. 내가 검색하여 붙여 넣기를 복사 할 필요없이 abstract class Units { val life:Int } tra

    2

    2답변

    당신은 가 기록 검증 및 아이손에 (!) 작품에 대한 몇 가지 단순화를 제공하는 모든 하스켈 라이브러리를 알고 있습니까? 나는 몇 가지 생성자 함수를 작성할 수 있지만 바퀴를 다시 만들지 않고 보일러 플레이트를 지우고 싶습니다. 내가 무엇을 찾고 있어요 것은 다음 나는 각 필드에 대해 "계약"을 정의하고 싶습니다. 예를 들어 : data Person = P

    33

    3답변

    실용적인 예제에서 어떤 렌즈가 사용되는지에 대한 설명을 찾을 수없는 것 같습니다. Hackage 페이지의이 짧은 단락은 내가 찾은 가장 가까운 문단입니다. 이 모듈은 구조 요소에 액세스하고 업데이트하는 편리한 방법을 제공합니다. Data.Accessors와 매우 유사하지만 조금 더 일반적이고 의존성이 적습니다. 나는 특히 상태 모나드에서 중첩 된 구조를 얼

    10

    2답변

    정말 간단한 질문은 여기에 있습니다. 렌즈에 대한 훌륭한 소개 시청 후 : import scalaz.Lens._ fst.andThen(snd).set(((1,2),3),9) 이이 오류 error: type mismatch; found : scalaz.Lens[(Nothing, Nothing),Nothing] required: scalaz.Lens[