使用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 变量是个坏主意,这会与同名的内置过程发生冲突。
我有一个函数 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 变量是个坏主意,这会与同名的内置过程发生冲突。