File tree Expand file tree Collapse file tree 3 files changed +8
-6
lines changed Expand file tree Collapse file tree 3 files changed +8
-6
lines changed Original file line number Diff line number Diff line change 1
1
#lang racket
2
+ (require compatibility/mlist)
2
3
3
4
(define (make-table)
4
- (mcons '*table* '() ))
5
+ (mlist '*table* ))
5
6
6
7
(define (assoc key records)
7
8
(cond ((null? records) false )
Original file line number Diff line number Diff line change 1
1
#lang racket
2
2
(require "1d-table.rkt " )
3
+ (require compatibility/mlist)
3
4
4
5
(define (make-table)
5
6
(let ((local-table (mcons '*table* '() )))
20
21
(set-mcdr! record value)
21
22
(set-mcdr! subtable (mcons (mcons key-2 value)
22
23
(mcdr subtable)))))
23
- (set-mcdr! local-table (mcons
24
- (mcons key-1
25
- (mcons (mcons key-2 value) '() ))
26
- (mcdr local-table)))))
24
+ (set-mcdr! local-table (mcons (mlist key-1
25
+ (mcons key-2 value))
26
+ (mcdr local-table)))))
27
27
'ok )
28
28
(define (dispatch m)
29
29
(cond ((eq? m 'lookup-proc ) lookup)
Original file line number Diff line number Diff line change 1
1
#lang racket
2
+ (require compatibility/mlist)
2
3
3
4
;;; 实现与一维数组一致,差别在于 key 的表达方式,与原来使用 'a 的字符
4
5
;;; 变量作为 key 不同,现在使用 '(a b) 列表作为 key
5
6
(define (make-table)
6
- (let ((local-table (mcons '*table* '() )))
7
+ (let ((local-table (mlist '*table* )))
7
8
(define (assoc key records)
8
9
(cond ((null? records) false )
9
10
((equal? key (mcar (mcar records)))
You can’t perform that action at this time.
0 commit comments