TreeLoc 내가 저장하기 위해 (트리에 저장되어있는 게임에서 액션의 역사를 가지고 나무는
의 지퍼 scalaz에, 자신의 각 노드의 TreeLoc의 트리를 구성 저장의 다른 최종 상태). 따라서 기본적으로 내 게임에는 TreeLoc[Action]
이 있습니다 (어떤 노드가 현재 최종 상태인지 알기 위해).
이제 내 사용자가이 역사적인 자료로 이동할 수 있기를 바랍니다. 그래서 내가 원하는 것은 그에게 자신의 행동 트리를 제시하는 것입니다. 노드를 클릭하면 내 역사를 계산하고 동일한 루트 트리의 TreeLoc으로 바꾸지 만 올바른 노드에 포커스를 둡니다. 이는 각 노드와 모든 TreeLoc 동료를 만들 쓸모없는 것, 그래서 그것을 변환 할 수있는 방법을 찾기 위해 좋은 해결책이 될 것이라고 생각 내 Tree[Action]
(내가 그런 일을 할 수있는 방법 Tree[(Action,() => TreeLoc[Action])].
에 현재 TreeLoc[Action].toTree)
이다?
작동해야하지만 제 경우에는 Action이 case 클래스이고 두 개의 Action에 대해 동일한 case 클래스를 가질 수 있지만 eq로 작동해야합니다. – Atol
==는 참조 비교가 아닌 Scala의 구조적 동일성이며 사례 클래스의 경우 생성된다는 것을 명심하십시오. 다른 데이터를 사용하는 두 가지 작업은 고려되지 않습니다. –