This Web
Other Webs
Schematics
Scheme Links
(module test-default-fields mzscheme (require (lib "class.ss")) (provide (all-defined)) (define adder% (class object% (super-new) (init-field [increment 1]) (define/public (add x) (+ increment x)))))
> (send (new adder%) add 3) 4
> (send (new adder% [increment 42]) add 3) 45
(define person% (class object% (super-new) (init [name "John Doe"]) (field [-name (regexp-replace* "[^a-zA-Z]" name "")]) (define/public (say-hello) (printf "hi, my name is ~a~n" -name))))
> (send (new person%) say-hello) hi, my name is JohnDoe > (send (new person% [name "f**b*r"]) say-hello) hi, my name is fbr