所以当我提出这个问题时,我正在练习球拍初学者语言。
编写一个消耗字符串,目标字符和a的函数str-replace
替换角色。该函数生成一个新字符串,该字符串与消耗的字符串相同,并且所有出现的目标字符(如果有)都替换为替换字符。例如,(string-replace "word" #\o #\y) ⇒ "wyrd"
。
注意:
我可能不会使用string->list
和list->string
以外的任何内置字符串函数。
所以我开始使用代码现在我卡住了,我现在如何使用包装器函数来实现这个代码
;; los is list of string
(define(str-replace los)
(+(first los)
(first (rest los))
(first (rest (rest los)))
(first (rest (rest (rest los))))))
答案 0 :(得分:2)
定义一个对列表进行操作的转换函数:
(define (replace-in-list input-list from-char to-char)
(if (null? input-list)
...
(cons ...
(replace-in-list ... from-char to-char))))
(您必须填空...
)
从另一个人那里打电话:
(define (str-replace input-string from-char to-char)
(list->string
(replace-in-list
(string->list input-string) from-char to-char)))