8
私は、キーワード引数を受け入れることができる構文形式をRacketで作成したいと思います。ラケットマクロはキーワード引数を取ることができますか?
はは、単純な例にそれを縮小したので、私は書き込みを試してみました:
(sum-of-products ([2 2] [3 3])) → 13
(sum-of-products ([2 2] [3 3]) #:extra 5) → 18
は残念ながら、ラケットはそう明らかに、この「不正な構文」を呼び出します。以下は、その後、仕事であろうと、このような
(define-syntax sum-of-products
(syntax-rules (#:extra)
[(sum-of-products ([a b] ...))
(+ (* a b) ...)]
[(sum-of-products ([a b] ...) #:extra extra)
(+ extra (* a b) ...)]))
をその試行は正しくありませんでした。
これはできますか?
特に、 'syntax-parse'ドキュメントにはキーワード引数を持つマクロを書く際の[section](http://docs.racket-lang.org/syntax/Optional_Keyword_Arguments.html)があります。 –
(うわー、そのリンクを追加するのを忘れた...) –