功能定义

可以使用 lambda 表单创建 Racket 中的功能。表单采用参数列表和正文。

(lambda (x y) (* x y))

在上面的示例中,函数接受两个参数并返回乘以它们的结果。

> ((lambda (x y) (* x y)) 4 4)
16
> ((lambda (x y) (* x y)) 3 2)
6

每次我们想要将两个数字相乘时重新编写函数及其实体是很繁琐的,所以让我们给它起一个名字。要命名,请使用 define 表单。这会将函数绑定到名称。

(define multiply (lambda (x y) (* x y)))

现在我们可以通过调用 multiply 来参考我们的函数

> (multiply 5 2)
10

由于将过程绑定到名称是很常见的,因此 Racket 提供了使用 define 表单定义函数的简写。

(define (multiply x y) (* x y))

有关更多信息和示例,请参阅 球拍指南中的函数:lambda