类型检查器:提供了“n”的声明,但“n”在以下位置没有定义:n
Type Checker: Declaration for `n' provided, but `n' has no definition in: n
我正在尝试在 Lisp/drRacket 中执行阶乘计算器函数,但我遇到了问题,无法弄清楚。
#lang typed/racket
(: n Number)
(define (faktoriyel n)
(cond
((< n 0) (error "eksi sayıların faktoriyeli olmaz"))
((and (>= n 0) (<= n 1)) 1)
(else (* n (faktoriyel (- n 1))))))
您应该声明函数的类型,而不是变量 n
:
(: faktoriyel (-> Number Number))
(-> Number Number)
表示一个函数,参数为Number
,returns为Number
.
请参阅文档中的 Function Types。
我正在尝试在 Lisp/drRacket 中执行阶乘计算器函数,但我遇到了问题,无法弄清楚。
#lang typed/racket
(: n Number)
(define (faktoriyel n)
(cond
((< n 0) (error "eksi sayıların faktoriyeli olmaz"))
((and (>= n 0) (<= n 1)) 1)
(else (* n (faktoriyel (- n 1))))))
您应该声明函数的类型,而不是变量 n
:
(: faktoriyel (-> Number Number))
(-> Number Number)
表示一个函数,参数为Number
,returns为Number
.
请参阅文档中的 Function Types。