If statement (方案)如何在控制结构中使用程序?

If statement (方案)如何在控制结构中使用程序?,if-statement,scheme,procedure,If Statement,Scheme,Procedure,我有一个类似的程序 (lambda (r) (change table r)) 我想在if结构中使用它。 我的主要目标是应用一个过程来列出满足另一个过程的元素。 我不能使用过滤器,因为我想看到列表中未更改的元素 (define (map-if mapper pred lst) (map (lambda (x) (if (pred x) (mapper x) x)) lst))

我有一个类似的程序

(lambda (r) (change table r))
我想在if结构中使用它。 我的主要目标是应用一个过程来列出满足另一个过程的元素。 我不能使用过滤器,因为我想看到列表中未更改的元素

(define (map-if mapper pred lst)
  (map (lambda (x)
         (if (pred x)
             (mapper x)
             x))
       lst))