【发布时间】:2021-01-01 15:09:46
【问题描述】:
我有一个问题,我找不到从下面的列表中取回所有数据的方法:
(define lst1 (list
(list "p1" "clock" "1000" "10")
(list "p2" "shirt" "2000" "30")
(list "p3" "pants" "4000" "20")
(list "p4" "cap" "2300" "100")
(list "p5" "string" "1600" "25")
(list "p6" "glasses" "3000" "34")
(list "p7" "shoes" "400" "120")))
作为一个结构,结构将是(制造产品代码产品价格数量)
我试过了,但它返回的只是列表的一个数据,但它没有返回整个列表的结构。
(define-struct product (code product price quantity))
(define(load-files lst)
(cond
[(empty? lst)empty]
[(list? lst)(list(make-product(first(first lst))(first(rest(first lst)))
(first(rest(first lst)))
(first(rest(rest(first lst))))))]
[else(load-files (rest lst))
]
)
)
【问题讨论】:
-
为什么这个标签是 [typed-racket]?代码看起来像普通的 [racket] 或可能的 [racket-student-languages],结构定义中只有字段名称,而不是字段名称/类型对
标签: list recursion structure racket typed-racket