comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Re: Keyword precedence
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Return to the default flat view Create a new topic Submit Reply
Re: Keyword precedence [message #21385] Thu, 24 August 2000 21:03 Go to previous message
Mark Hadfield is currently offline  Mark Hadfield
Messages: 783
Registered: May 1995
Senior Member
"David Fanning" <davidf@dfanning.com> wrote in message
news:MPG.140f8856ff9c2a24989bf1@news.frii.com...
> I'm referring, of course, to those occasions when you
> absolutely, positively DON'T want the damn color to
> be mucked around with. Then you have to go fishing
> for the COLOR keyword in the extra structure. It would
> be OK if you could do something like this:
>
> fields = Tag_Names(extra)
> index = Where(fields EQ 'COLOR', count)
> IF count GT 0 THEN extra.color = 127
>
> But, of course, the user didn't use COLOR as the keyword.
> They used C, CO, COL, COLO, or some other thing, and
> you have to fish those things out as well.

Thanks for your comments, David. It's nice to know that somebody reads my
raves.

Why not

pro my_plot, COLOR=color, _EXTRA=extra
if n_elements(color) gt 0 then $
message, /INFORM, "I'm plotting this in color index 127 whatever you
say!"
plot, COLOR=127, _EXTRA=extra
end

or my preference

pro my_plot, COLOR=color, _EXTRA=extra
if n_elements(color) gt 0 then $
message, "Don't touch the friggin' COLOR!"
plot, COLOR=127, _EXTRA=extra
end

> I think if a keyword is important, define it, and define
> a default value for it. I wouldn't change any of your fine
> code a bit, Mark.

I already have done in one or two places. It got clearer, in my opinion. But
it's a matter of taste.

There's nothing stopping me from writing in the comments header:

COLOR: As for plot, but default is 127.

> Actually, I think this code is working exactly the way
> it is suppose to work. (Someone is going to have to pry
> JD away from this thesis for the definitive answer. I'm
> slightly confused about it too.)

At the moment when I write

foobar, COLOR=0, _EXTRA={color:12}

then if foobar is a wrapper for some other function (and foobar itself
doesn't have a COLOR keyword) I have to know whether foobar uses reference
or value inheritance to know what the effect will be. This can't be right!

Of course I don't actually write the above command, not unless I'm messing
about trying to understand inheritance mechanisms. But that's the effect of
some perfectly reasonable wrapper designs.

---
Mark Hadfield
m.hadfield@niwa.cri.nz http://katipo.niwa.cri.nz/~hadfield/
National Institute for Water and Atmospheric Research
PO Box 14-901, Wellington, New Zealand
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: From PV-WAVE to IDL
Next Topic: Re: Gridding options

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Fri Oct 10 05:37:38 PDT 2025

Total time taken to generate the page: 0.56282 seconds