yaotti's diary

Software is Eating the World

3.3.1から3.3.3

Ex 3.17が全然わからない。。。
で、答えを見るとmemqって関数を使ってる。

(memp item list)
;;itemがlist内にあればtrue、なければfalseを返す
;;引数にconsセルはだめ



しかし回答見ててちょっと「?」。


memqがよくわからない。そこで。

;;まずこんなリストを作る
(define l (list 'x (list 'y 'z)))


(memq 'x l)
=>true

(memq 'y l)
=>false

そのリストにアイテムへのポインタが存在するかをチェックするみたい。
要素が含まれているかどうかではないと。(要素があるかどうかならmap使えばわかる)

なるほどなるほど。




ちょっとペースがやばい。3月中に終わらなさげ。
なので問題を解くことよりも理解すること(そして使えること)を重視してぱぱっと進めてく。

それでもぱぱっとは無理だけど。。。