basyura's blog

あしたになったらほんきだす。

A リストと P リスト

scratch を使ってお勉強。

Aリスト - association list

ハッシュ表に相当

;Aリストを作る Ctrl + j
(setq map '((a . A) (b . B) (c . C)))
;評価した結果
((a . A) (b . B) (c . C))
;Aリストからキーに a を持つペアを取得 Ctrl + j
(assoc 'a map)
;評価した結果
(a . A)
;Aリストからキーに a を持つペアの値を取得 Ctrl + j
(cdr(assoc 'a map))
;評価した結果
A

Pリスト - property list

key と value が並んだリストを用いる

;Pリストを作る Ctrl + j
(setq map '(key1 value1 key2 value2 key3 value3))
;評価した結果
(key1 value1 key2 value2 key3 value3)
;キーに対する値を取得 Ctrl + j
(getf map 'key1)
;評価した結果
value1
;値を変える Ctrl + j
(setf (getf map 'key1) 'VALUE3)
;評価した結果
VALUE3
;Pリストを表示 Ctrl + j
map
;評価した結果
(key1 VALUE3 key2 value2 key3 value3)

それにしても emacs 左手小指の control と Shift のキー移動が悩ましい・・・。control + b のときの b を右手の人差し指で押してるんだけどあってるんだろうか・・・n を間違えて押しちゃう。左手で押すようにして、左手を使う時は左右移動、右手を使う時は上下移動とした方がいいんだろうか。