「連想リスト」の編集履歴(バックアップ)一覧はこちら
連想リスト - (2017/03/27 (月) 04:01:15) の最新版との変更点
追加された行は緑色になります。
削除された行は赤色になります。
*連想リスト
**連想リストを定義する
#highlight(lisp){{
(setq trees '((pine . cones) (oak . acorns) (maple . seeds)))
;;=> ((pine . cones) (oak . acorns) (maple . seeds))}}
**連想リストのキーから(キー . 値)を取得する
#highlight(lisp){{
(assoc 'oak '((pine . cones) (oak . acorns) (maple . seeds)))
;;=> (oak . acorns)}}
**連想リストのキーから値を取得する
#highlight(lisp){{
(alist-get 'oak '((pine . cones) (oak . acorns) (maple . seeds)))
;;=> acorns
(cdr (assoc 'pine '((pine . cones) (oak . acorns) (maple . seeds))))
;;=> acorns}}
#contents
*連想リスト
**連想リストを定義する
#highlight(lisp){{
-(setq trees '((pine . cones) (oak . acorns) (maple . seeds)))
;;=> ((pine . cones) (oak . acorns) (maple . seeds))}}
**連想リストからエントリを取得する
#highlight(lisp){{
(assoc 'oak '((pine . cones) (oak . acorns) (maple . seeds)))
;;=> (oak . acorns)}}
**連想リストのキーから値を取得する
#highlight(lisp){{
(alist-get 'oak '((pine . cones) (oak . acorns) (maple . seeds)))
;;=> acorns
(cdr (assq 'oak '((pine . cones) (oak . acorns) (maple . seeds))))
;;=> acorns}}
**連想リストのキーの値を修正する
#highlight(lisp){{
(setq alist '((pine . cones) (oak . acorns) (maple . seeds)))
;;=> ((pine . cones) (oak . acorns) (maple . seeds))
(setf (alist-get 'pine alist) 'pine-tree)
-;;=> pine-tree
alist
;;=>((pine . pine-tree) (oak . acorns) (maple . seeds))}}