Я пытаюсь понять документ соответствия шаблону ракеты и задать несколько вопросов, как показано ниже, я не могу его разобрать.Синтаксис синтаксиса синтаксиса квазикота и вопросительного знака
- (quasiquote qp) - вводит квазипереход, в котором идентификаторы соответствуют символам. Подобно форме выражения квазиквадрата, unquote и unquote-splicing возвращаются к нормальным образцам.
http://docs.racket-lang.org/reference/match.html
Пример:
> (match '(1 2 3)
[`(,1 ,a ,(? odd? b)) (list a b)])
'(2 3)
Это не объясняет этот пример, и как "идентификаторы совпадения символов"? Я думаю, это совпадение '(1 2 3)
с рисунком '(1, a, b)
и b нечетно, но почему `(,1 ,a ,(? odd? b))
не `(1 a (? odd? b))
, сывороткам ему нужны запятые между членами списка? Особенно `(,
? Почему так? Так что строка!
Спасибо!