|
Subject: Keyword arguments... From: Alexander Taranov <tay@xxxxxxxxxx> Date: Thu, 6 Aug 1998 18:59:11 +0400 (MSD) |
Norman Walsh writes:
> Is it the case, as it appears to be, that in user-defined
> functions with keyword arguments, the keyword arguments must
> always appear last?
>
> I'd like to define a function, "make-element", so that it could
> be used just like the sgml backend's "make element" function.
>
> (make-element gi: "foo" attributes: '() some-sosofo)
>
> But it seems I'm stuck with either
>
> (make-element some-sosofo gi: "foo" attributes: '())
>
> or
>
> (make-element gi: "foo" attributes: '() sosofo: some-sosofo)
>
> Is that the case, or am I overlooking something?
To my knowlege that's the case.
to begin with keyword args MUST appear in pairs -- key - value
Once i wrote such fucnction and here it is:
;;; (html-markup 'tag' [attrs: 'list of attr/val lists'] sosofo ...)
;;; results in tagging (with opt attributes) of sosofos
(define (html-markup tag #!rest args)
(let* (
(tag (force-string tag))
(atrs? (member attrs: args))
(atrs (if atrs? (car (cdr atrs?)) #f))
(sfs (if atrs? (cdr (cdr atrs?)) args)))
(sosofo-append
(make formatting-instruction
data: (string-append "<"
tag
(html-attrlist atrs)
">"))
(if (null? sfs) (current-node) (apply sosofo-append sfs))
(make formatting-instruction
data: (string-append "</" tag ">"))
*newline*)))
-tay
>
> Cheers,
> norm
> --
> Norman Walsh <ndw@xxxxxxxxxx> | Whatever you do may seem
> http://nwalsh.com/ | insignificant, but it is most
> | important that you do it.--Ghandi
>
>
> DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
DSSSList info and archive: http://www.mulberrytech.com/dsssl/dssslist
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| Keyword arguments..., Norman Walsh | Thread | Re: Keyword arguments..., Paul Prescod |
| Keyword arguments..., Norman Walsh | Date | jade (unofficial) and jadetex updat, Sebastian Rahtz |
| Month |