Common Lisp의 속성 목록을 사용하여 이진 트리를 몇 가지 추가 정보로 나타냅니다. 단일 함수를 사용하여 임의로 트리를 파고 적절하게 수정할 수 있기를 바랍니다.Clojure의 pll에 대한 get-in 및 assoc-in과 유사한 작업
내가 사용하는 다른 Lisp 인 Clojure에는 정확하게 이것을 할 수있는 get-in
및 assoc-in
이라는 기능이 있지만 Common Lisp에서 비슷한 것을 찾지 못했습니다. 그들은 실제로 존재 하는가, 아니면 나는 그것을 쓰어야 할 것인가?
우리가 Clojure에 익숙하지 않은 분들을 위해, 이러한 기능이 어떻게 사용되는지 보여줄 수 있습니까? 이상적인 Common Lisp 대응 물체는 어떻게 생겼을까요? 그들은 열쇠 또는 무엇의 명부를 가지고 가느냐? –
@ JoshuaTaylor : 다음과 같이 plist''* pl *''을 가지고 있다고 가정 해 봅시다 :''(: a 1 : b (: a 2 : b 3))''. 그런 다음''(get-in * pl * '(: b : a))''는''2' '와''(assoc-in * pl *'(: b : a) 5)'' '(: a 1 : b (: a 5 : b 3))''를 반환합니다. –
@ MrSinister13 : 질문을 편집하여 추가 정보를 추가 할 수 있습니까? –