【发布时间】:2019-03-29 01:06:38
【问题描述】:
我试图用另一个给定的字符串替换列表中的字符串,仅使用抽象列表函数和 lambda。 该函数使用 lst(字符串列表)、str(要替换的字符串)和 rep(要替换 str 的字符串)。 这是一个例子: (替换 (list "hi" "how" "are" "you") "hi" "bye") -> (list "bye" "how" "are" "you")
下面写的是我递归写的代码,它可以工作。
(define (replace lst str rep)
(cond [(empty? lst) empty]
[(equal? match (first lst))
(cons rep (replace-all (rest lst) match rep))]
[else (cons (first lst) (replace-all (rest lst) match rep))]))
下面的代码是我尝试过的,但我不确定如何修复它以使其产生我想要的。
(define (replace lst str rep)
(map (lambda (x) (string=? x str)) lst))
感谢您的任何帮助,谢谢!
【问题讨论】: