Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.postscript > #1425
| From | Cecil Westerhof <Cecil@decebal.nl> |
|---|---|
| Newsgroups | comp.lang.postscript |
| Subject | Re: What is the best way to work with a dictionary |
| Organization | Decebal Computing |
| References | <87zjtqdxrl.fsf@Aspire.decebal.nl> <b4drrlFju4mU1@mid.individual.net> |
| Date | 2013-07-13 23:25 +0200 |
| Message-ID | <87vc4edufk.fsf@Aspire.decebal.nl> (permalink) |
Op zaterdag 13 jul 2013 22:32 CEST schreef Helge Blischke:
> Cecil Westerhof wrote:
>
>> Until now I wrote functions like:
>> /ellipse { % x y unitX unitY colour
>> 5 dict begin
>> /colour exch def
>> /unitY exch def
>> /unitX exch def
>> /y exch def
>> /x exch def
>>
>> gsave
>> newpath
>> colour setrgbcolor
>> x y translate
>> unitX unitY scale
>> 1 1 1 0 360 arc closepath fill
>> stroke
>> grestore
>> end
>> } def
>>
>> I just saw in ‘PostScript Drawing: An Economist's Guide’ that it
>> also should be possible to do it in the following way: /ellipse { %
>> x y unitX unitY colour << /colour exch
> % operand stack at this point:
> % x y unitX unitY color /color mark
>> def
>> /unitY exch def
>> /unitX exch def
>> /y exch def
>> /x exch def
>>>> begin
>> gsave
>> newpath
>> colour setrgbcolor
>> x y translate
>> unitX unitY scale
>> 1 1 1 0 360 arc closepath fill
>> stroke
>> grestore
>> end
>> } def
>>
>> Which of the two is the better one and why? I think I like the
>> second one more. The only problem is that it does not work. I get:
>> Error: /unmatchedmark in -->>--
>>
>> I am using:
>> GPL Ghostscript 9.06
>>
>
> You see that the name /color gets associated with the object mark,
> i. e. the --<<--, which is equivalent to --mark--, gets consumed and
> therefore is missing at the time -->>-- is executed.
>
> Think about it.
>
> Helge
I had been looking a little further. The << … >> combination is used
when assigning constants. I could use a roll, but my parameter list
does not always has the same length. So I will keep working in my old
way.
By the way: I read somewhere that the value before dict does not
matter. Is that true, or not?
A nice effect with this function: ;-)
0 .25 3 {
/count exch def
40 40 40 count mul add
40 40 4 count sub mul
{1 count 10 div sub 0 0}
ellipse
200 40 count mul add 40
40 4 count sub mul 40
{0 count 4 div add dup dup}
ellipse
} for
I like the grey better as the red.
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
Back to comp.lang.postscript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
What is the best way to work with a dictionary Cecil Westerhof <Cecil@decebal.nl> - 2013-07-13 22:13 +0200
Re: What is the best way to work with a dictionary Helge Blischke <h.blischke@acm.org> - 2013-07-13 22:32 +0200
Re: What is the best way to work with a dictionary Cecil Westerhof <Cecil@decebal.nl> - 2013-07-13 23:25 +0200
Re: What is the best way to work with a dictionary luser- -droog <mijoryx@yahoo.com> - 2013-07-13 17:04 -0700
Re: What is the best way to work with a dictionary Cecil Westerhof <Cecil@decebal.nl> - 2013-07-14 15:11 +0200
Re: What is the best way to work with a dictionary luser- -droog <mijoryx@yahoo.com> - 2013-07-14 08:04 -0700
Re: What is the best way to work with a dictionary Cecil Westerhof <Cecil@decebal.nl> - 2013-07-14 20:04 +0200
Re: What is the best way to work with a dictionary Olle <olavi.sakari@gmail.com> - 2013-07-15 06:13 -0700
Re: What is the best way to work with a dictionary Olle <olavi.sakari@gmail.com> - 2013-07-15 06:27 -0700
csiph-web