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)