如何计算Scheme中列表中的语句数
语句->如果为布尔,则为语句列表->而布尔语句列表->id=表达式 所以如果输入:id=id+idif bool,那么如果bool,那么id=id+id=const/constid=id+id,而bool id=id-constid=id-id如何计算Scheme中列表中的语句数,scheme,racket,Scheme,Racket,语句->如果为布尔,则为语句列表->而布尔语句列表->id=表达式 所以如果输入:id=id+idif bool,那么如果bool,那么id=id+id=const/constid=id+id,而bool id=id-constid=id-id 语句的数量应为9。方案是相同的。无法区分表示方案代码(例如语句)的列表和表示数据的列表,因为方案代码是方案数据。但是,当然可以计算一个列表中包含多少个列表,这可以通过以下函数完成 (define (list-count list) (cond ((n
语句的数量应为9。方案是相同的。无法区分表示方案代码(例如语句)的列表和表示数据的列表,因为方案代码是方案数据。但是,当然可以计算一个列表中包含多少个列表,这可以通过以下函数完成
(define (list-count list)
(cond ((null? list) 0)
((list? (car list))
(+ (list-count (car list))
(list-count (cdr list))
1))
(else (list-count (cdr list)))))
根据您的说明,当给出问题列表时,将返回9
> (list-count '((id = id + id)(if bool then (if bool then ( id = id + id ))(id = const / const)(id = id + id))(while bool (id = id - const)(id = id - id))))
9