使用Scheme将一个函数的返回值赋值给另一个函数中的变量

Using Scheme to assign the value returned by a function to a variable in another function

我有一个函数 remove_duplicates 可以删除列表中的重复项并 return 生成新列表。

(define (remove_duplicate list)
(cond
    ((null? list) '() )

    ;member? returns #t if the element is in the list and #f otherwise
    ((member? (car list) (cdr list)) (remove_duplicate(cdr list)))

    (else (cons (car list) (remove_duplicate (cdr list))))

))

我想将此函数调用的 return 值分配给另一个函数 f 中的变量。

(define (f list)
    ;I have tried this syntax and various other things without getting the results I would like
    (let* (list) (remove_duplicates list))
)

感谢任何帮助,谢谢!

这是使用 let 的正确语法:

(define (f lst)
  (let ((list-without-dups (remove_duplicates lst)))
    ; here you can use the variable called list-without-dups
    ))

另请注意,将 list 参数命名为 and/or 变量是个坏主意,这会与同名的内置过程发生冲突。