|
From: | Jack Trades |
Subject: | [Chicken-users] Stupid closure question |
Date: | Tue, 16 Jun 2009 20:38:22 -0400 |
(define (my-list #!rest *args)
(let ((data *args))
(define (get) data)
(define (set a-list) (set! data a-list))
(define (len) (length data))
(lambda (#!rest args)
(if (null? args) (get)
(apply (case (car args)
((set) set)
((len) len)
(else get))
(cdr args))))))
(define a (my-list 1 2 3))
a
===> (1 2 3)
(a 'len)
===> 3
Jack Trades
[Prev in Thread] | Current Thread | [Next in Thread] |