关键字参数

Racket 函数也可以包含关键字参数,这些参数使用关键字后跟参数表达式指定。关键字以字符 #:开头,因此关键字参数看起来像 #:keyword arg-expr。在函数调用中,这看起来像 (function #:keyword arg-expr)

> (define (hello #:name n)
    (string-append "Hello " n))
> (hello #:name "John")
"Hello John"
> (hello #:name "Sarah")
"Hello Sarah"
> (define (kinetic-energy #:mass m #:velocity v)
    (* 1/2 m (sqr v)))
> (kinetic-energy #:mass 2 #:velocity 1)
1
> (kinetic-energy #:mass 6 #:velocity 2)
12

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