我试着在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))))))
发布于 2020-05-21 18:54:11
您应该声明函数的类型,而不是变量n
(: faktoriyel (-> Number Number))
(-> Number Number)
是指以Number
作为参数并返回Number
的函数。
请参阅文档中的Function Types。
https://stackoverflow.com/questions/61941318
复制相似问题