我正在寻找自己的定制<可以在scheme中使用任意数量的参数的函数。我该怎么做呢?
我想我必须做一些像(和(b< x y)(b< y z))但我不确定的事情。
答案 0 :(得分:3)
这是<
的一个实现,它的工作方式类似于Scheme,使用b<
作为二进制小于操作:
(define (< . args)
(cond
[(null? args) #t]
[(null? (cdr args)) #t]
[(b< (car args) (car (cdr args)))
(apply < (cdr args))]))
答案 1 :(得分:2)
好吧,首先,你用
之类的东西定义一个可变函数(define (my-< . numbers)
<body>
)
然后数字将是包含参数的列表。从那里你需要某种循环或递归,以便它适用于任意数量的参数。