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