assocでalistから値を取り出す

alist (Association Lists) はkey/valueペアのリスト。assoc関数でkey/valueペアを取得し、car/cdrを使用することでそれぞれの値を取得することが可能。

assocは最初にマッチしたkey/valueを返すため、先頭に値を追加(push)することで、取得するデータを更新することができる。

上記の例では、friesの値段を更新したが、元の値段はalistに残ったままである。 ちなみにassocを使用する場合、keyを最初から順番に見ていくため、値が多い場合はhash-tableを使用するほうが性能が良い。

参考
CLHS: Function ASSOC, ASSOC-IF, ASSOC-IF-NOT