检查球拍列表中是否存在元素

Mih*_*hir 5 string list racket

如何在不使用 lambda 的情况下检查列表中是否存在某个元素(两者均作为函数调用的输入)?我正在尝试会员?但无法得到它。

(define (find-string (lst lst str ua)
    (cond ((member? ua lst) #t)
    (else #f))
Run Code Online (Sandbox Code Playgroud)

Ama*_*ngh 4

使用 member 会起作用,只是您添加了额外的“?” 函数前面不需要

 (member 2 (list 1 2 3 4)) [1]
Run Code Online (Sandbox Code Playgroud)

将返回 true

另一种方法是编写自己的递归函数

(define (is-in-list list value)
 (cond
  [(empty? list) false]
  [(= (first list) value) true]
  [else (is-in-list (rest list) value)]))
Run Code Online (Sandbox Code Playgroud)

[1] https://docs.racket-lang.org/reference/pairs.html#%28def._%28%28lib._racket%2Fprivate%2Fbase..rkt%29._member%29%29