CLでSRFI-61 — #:g1

Posted 2011-05-27 12:32:00 GMT

SRFI-87で、=> が出てきたので、今回は、その流れで、SRFI-61です。
Schemeのcondでは、=>が使えるのは前回も書きましたが、それにガード節を加えたものがSRFI-61です。
このガード節を上手く使うことによって色々できます。
- srfi-61.
- (http://srfi.schemers.org/srfi-61/srfi-61.html)

(shadowing-import 'srfi-61:cond)

(let ((alist '((a . 1) (b . 2) (c . 3)))) (cond ((assoc 'a alist) #'values :=> #'cdr) (:else nil))) ;=> 1

(let ((alist '((a . 1) (b . 2) (c . 3)))) (cond ((assoc 'z alist) #'values :=> #'cdr) (:else nil))) ;=> NIL

今回もキーワードは、キーワードシンボルで書くことにしてみました。
シンボルの衝突を考えなくて良いのでキーワードにしておくとやっぱり楽かなと思います。

comments powered by Disqus