一个帮助函数作为参数?

A helpfunction as parameter?

我不知道如何解决我的一个问题。 我为我的主要功能编写了两个帮助功能,但它不起作用。

;;Main function
    (define (FunctionA a b c)
          (/(-(* -1 b) VariableD)aNotNull))

        (check-expect (FunctionA 1 1 1)-1)

;;Helpfunction1:
        (define (VariableD a b c)
            (if (> 0(-(* b b)(* 4 (* a c)))) (error "No negative numbers allowed") 
                (sqrt(-(* b b)(* 4 (* a c)))))) 

        (check-expect (VariableD 0 0 0) 0)
        (check-error (VariableD 1 2 3) "No negative numbers allowed")

;helpfunction2:
        (define (aNotNull a)
          (if (= 0 (* 2 a)) (error "Zerodivisor not allowed")
                 (* 2 a)))

        (check-error (aNotNull 0 ) "Zerodivisor not allowed")
        (check-expect(aNotNull 2) 4)

我收到错误:需要一个数字作为第二个参数,给定 (lambda (a1 a2 a3) ...) 但是我不知道怎么解决。

希望你能帮帮我:)

(define (FunctionA a b c)
  (/ (- (* -1 b) VariableD) aNotNull))

VariableD这里指的是你定义的函数。您可能想要使用来自 FunctionAabc 输入来调用该函数,并在 FunctionA.[=20= 中使用结果]

您对 aNotNull 的使用也是如此。我只是推断这些是您希望在此修订后的 FunctionA:

中传递给这些函数的变量
(define (FunctionA a b c)
  (/ (- (* -1 b) 
        (VariableD a b c))
     (aNotNull a)))