2011-05-05 3 views
6

디스크에 해시 테이블을 쓰거나 읽고 싶지만 (print) 가능한 개체가 아닙니다. 나는 키 이름을 모를 것이므로 수동으로 할 수있는 방법을 생각할 수 없다. 이 작업을 수행하는 배포 관련 방법이있을 수 있음을 읽었습니다. SBCL에 이것에 대한 것이 있습니까?
SBCL 설명서 또는 Google에서 아무 것도 찾지 못했습니다.Common Lisp (SBCL) 해시 테이블 또는 대안 쓰기/읽기

그렇지 않은 경우 문자열에 바인딩 된 정수 목록을 유지하고 효율적으로 목록을 수정할 수 있으며 적어도 일정 시간 또는 적어도보다 빠른 액세스 시간을 가질 수있는 저장 가능한 방법이 있습니까?
바이너리 검색 트리는 alists로 구현하기에 쉽고 기본 데이터베이스를 만드는 데 좋은 아이디어입니까?

답변

11

MAPHASH은 부작용을 위해 해시 테이블에 두 개의 인수가있는 함수를 매핑합니다. 두 인수는 해시 테이블의 각 항목에 대한 키와 값입니다. 예를 들어 키와 값 목록으로 해시 테이블의 각 항목을 작성하는 데 사용할 수 있습니다.

(maphash (lambda (key value)(write (list key value))) *hash-table*) 
+0

정말 고마워! – Toerndev

+1

@gaidal, 이것이 문제를 해결하면 투표 화살표 옆에있는 체크 표시를 클릭하여 대답을 수락해야합니다. – dsolimano

+0

@dsolimano 고마워, 알아, 내 문제를 해결했지만 더 많은 질문이 대답 될 수 있다고 느꼈다. 어쨌든 지금은 확인되었습니다. – Toerndev

관련 문제