Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
21
Task/Named-parameters/Scheme/named-parameters-1.ss
Normal file
21
Task/Named-parameters/Scheme/named-parameters-1.ss
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
(define (keyarg-parser argdefs args kont)
|
||||
(apply kont
|
||||
(map (lambda (argdef)
|
||||
(let loop ((args args))
|
||||
(cond ((null? args)
|
||||
(cadr argdef))
|
||||
((eq? (car argdef) (car args))
|
||||
(cadr args))
|
||||
(else
|
||||
(loop (cdr args))))))
|
||||
argdefs)))
|
||||
|
||||
(define (print-name . args)
|
||||
(keyarg-parser '((first #f)(last "?"))
|
||||
args
|
||||
(lambda (first last)
|
||||
(display last)
|
||||
(cond (first
|
||||
(display ", ")
|
||||
(display first)))
|
||||
(newline))))
|
||||
8
Task/Named-parameters/Scheme/named-parameters-2.ss
Normal file
8
Task/Named-parameters/Scheme/named-parameters-2.ss
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
=> (print-name)
|
||||
?
|
||||
=> (print-name 'first "John")
|
||||
?, John
|
||||
=>(print-name 'first "John" 'last "Doe")
|
||||
Doe, John
|
||||
=>(print-name 'last "Doe")
|
||||
Doe
|
||||
Loading…
Add table
Add a link
Reference in a new issue