How to replace an item by another in a list in DrScheme when given paramters are two items and a list?

后端 未结 4 538
轻奢々
轻奢々 2021-01-21 18:42

How to replace an item by another in a list in DrScheme when given paramters are two items and a list?

4条回答
  •  佛祖请我去吃肉
    2021-01-21 19:24

    This replaces all the occurrences of fsym in the list lst to the symbol tsym in DrRacket

    (define (subst fsym tsym lst)
    
    (cond
    
    [(null? lst) lst]
    
    [eq? (first lst) fsym)(cons tsym (subst fsym tsym (rest lst)))]
    
    [else (cons (first lst)(subst fsym tsym (rest lst)))]))
    
    (subst 'a 'b '(f g a h a))
    
    ;the results will be as follows.
    
    '(f g b h b)
    

提交回复
热议问题