読者です 読者をやめる 読者になる 読者になる

yaotti's diary

QiitaやKobito、Qiita:Teamを作っています。Software is Eating the World

3.3.1から3.3.3

SICP

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月中に終わらなさげ。
なので問題を解くことよりも理解すること(そして使えること)を重視してぱぱっと進めてく。

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