SRFI-9はレコードの定義を行う最初のSRFIです。最初といったのはSRFIでのレコード型の導入は4つあり、SRFI-9はその最初のものだからです。
では使い方を見てみましょう。
(import (srfi :9)) (define-record-type <pare> (kons x y) pare? (x kar set-kar!) (y kdr)) (define p (kons 'a 'b)) ;; for convenience, put like this but it's implementation dependent. ;; -> <kons 'a 'b> (kar p) ;; -> 'a (kdr p) ;; -> 'b (set-kar! p 'c) ;; unspecified (kar p) ;; -> 'c (set-kdr! p 'd) ;; -> unbound variable errorこれで新しい型<pare>を定義可能します。この定義では
LISP Library 365で到達するか分からないので、他のレコードSRFIを以下の列挙します。
ちなみに、R7RSに入ったレコードはSRFI-9のものそのままなので、このSRFIもそのまま標準に昇格されたSRFIの一つといえるかもしれません。
No comments:
Post a Comment