【发布时间】:2019-05-19 01:52:27
【问题描述】:
我需要帮助将两个列表合并在一起。我的目标是用"abc" 替换"a"。我已经做了一个计数器等,但不知何故我无法附加这两个列表(列表是一个空列表,'("abc") 作为我要添加的新列表)。
我尝试添加更多括号,但添加的越多问题越严重。
(define (umwandl tr)
(cond ((null? tr) (display "Kein Text eingegeben"))
(else (uff (string->list tr) '())))) ; string wird nict inliste umgweandel
(define (uff tr liste)
(cond ((null? tr)(list->string liste))
(else
(cond ((equal? (first (rest (first (start1 (first tr))))) 1)
**((append list (list '("abc"))))))**
(uff (rest tr) liste))))
我的错误消息要么是 ('("abc")) 不是参数,要么只是给了我 "" 作为答案。如果有人能帮忙就太好了!
【问题讨论】:
-
“我尝试添加更多括号,但添加的越多,问题就越严重”。这听起来是个很糟糕的主意。学习语法并真正理解括号应该放在首位怎么样?
-
另外,请为您的代码发布示例输入和预期输出。并用英文发布你的代码,让更多人看懂。
-
(eq? list liste) ; ==> #f。此外,您将append的结果作为过程调用(双括号会这样做)。像这样的东西你应该使用cons而不是append或list,因为它会让你感到困惑。 -
感谢您的回答,幸运的是我自己解决了这个问题!还要感谢我应该用英文发布我的代码的提示:)。
标签: list append scheme lisp racket