Racket 球拍上的圆点是什么意思?

Racket 球拍上的圆点是什么意思?,racket,Racket,(定义语法规则(id.pattern)模板)中的是什么意思?它只是定义语法规则的一部分语法,还是在racket中有特殊的含义?这是定义的标准变量参数语法(过程也是如此):名称后面和点前面的所有标识符都被视为必需参数,点后面是可变长度列表(具有零个或多个元素)具有可选参数。例如: (define (test x . args) (displayln x) (displayln args)) (test) => arity mismatch, the expected number

(定义语法规则(id.pattern)模板)
中的
是什么意思?它只是
定义语法规则的一部分
语法,还是在racket中有特殊的含义?

这是定义的标准变量参数语法(过程也是如此):名称后面和点前面的所有标识符都被视为必需参数,点后面是可变长度列表(具有零个或多个元素)具有可选参数。例如:

(define (test x . args)
  (displayln x)
  (displayln args))

(test)
=> arity mismatch, the expected number of arguments
   does not match the given number

(test 1)
=> 1
   ()

(test 1 2)
=> 1
   (2)

(test 1 2 3)
=> 1
   (2 3)
可以没有必需的参数,使所有参数都是可选的:

(define (test . args)
  (displayln args))

(test)
=> ()

(test 1)
=> (1)

(test 1 2)
=> (1 2)
define syntax rule
的情况下,这意味着在
id
之后,预期会出现零个或多个模式:

(define-syntax-rule (id . pattern) template)