반응형
Property List(plist)
아래처럼 key-value가 나열되는 형태를 프로퍼티 리스트라고 합니다.
'(name "Conrad"
age 20
phone "82-10-1234-5678"
address "Earth, Milkyway, Laniakea Supercluster")
일반적인 언어의 사전형(Dictionary) 타입과 비슷한 형태로 유추됩니다.
키를 위 처럼 그냥 문자열로 해도 되고 콜론(:
)으로 시작되는 심볼로 해도 관계는 없습니다. 하지만 백틱을 이용해 인용(quote)한 상태로 정의해버리면 나중에 액세스가 힘들어질 수도 있습니다.
값 읽기
값을 읽을 때는 plist-get
을 사용합니다.
(let ((plist
'(name "Conrad"
age 20
phone "82-10-1234-5678"
address "Earth, Milkyway, Laniakea Supercluster")
))
(plist-get plist 'name))
;; => "Conrad"
키를 심볼로 정의한 경우는 이렇게 생겼습니다.
(let ((plist
'(:name "Conrad"
:age 20
:phone "82-10-1234-5678"
:address "Earth, Milkyway, Laniakea Supercluster")
))
(plist-get plist :phone))
;; => "82-10-1234-5678"
값 쓰기
값을 쓸 때는 plist-put
을 사용합니다.
(let ((plist
'(name "Conrad"
age 20
phone "82-10-1234-5678"
address "Earth, Milkyway, Laniakea Supercluster")
))
(plist-put plist 'gender "etc")
plist)
참고로 이미 존재하는 키를 이용하면 값을 덮어 쓸 수도 있습니다.
728x90
반응형
'기술적인 이야기 > 이맥스' 카테고리의 다른 글
Emacs 27.1 안정버전 공식 릴리즈 (1025) | 2020.08.12 |
---|---|
Emacs 업그레이드 후 겪은 Doom Emacs 오류 문제 (1248) | 2020.06.17 |
Let과 Let* (Emacs Lisp) (1328) | 2020.03.30 |
Filter와 Map (Emacs Lisp) (1235) | 2020.03.30 |
문자열 처리 함수들 (Emacs Lisp) (1020) | 2020.03.29 |
댓글