Petr, phodina 写道:
Here's the modification:(define (config->string options) (string-join (map (match-lambda ((option . 'm) (string-append option "=m")) ((option . #t) (string-append option "=y")) ((option . #f) (string-append option "=n")) ((option . number) (string-append option "=" number)) options) "\n"))
At this point, (option . number) will match anything.You're not matching numbers here: ‘number’ is your chosen variable name, not magic. It could be ‘foo’. It could be anything, without changing the effect of this code.
((option . string)
(string-append option "=\"" string
"\"")))
This will never be reached.I'm almost certain that this is, at least in part, why your BINDER configuration isn't taking effect.
Here's mine:
(define option->string
(match-lambda ((option . #f)
(format #f "# ~a is not set" option))
((option . #t)
(format #f "~a=y" option))
((option . 'm)
(format #f "~a=m" option))
((option . (? number? value))
(format #f "~a=~a" option value))
((option . (? string? value))
(format #f "~a=\"~a\"" option value))))
Kind regards,
T G-R
signature.asc
Description: PGP signature
