Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.postscript > #1136
| From | Cecil Westerhof <Cecil@decebal.nl> |
|---|---|
| Newsgroups | comp.lang.postscript |
| Subject | Re: Putting lines from a file into an array |
| Organization | Decebal Computing |
| References | <87624kp6hc.fsf@Compaq.site.inet> <k9gput$d8j$1@dont-email.me> <87r4n8nd8x.fsf@Compaq.site.inet> <k9hdaa$7pf$1@dont-email.me> |
| Date | 2012-12-03 10:01 +0100 |
| Message-ID | <87fw3no6gc.fsf@Compaq.site.inet> (permalink) |
Op maandag 3 dec 2012 06:28 CET schreef luser droog:
>>> Chris's response is totally correct. But here's another way to do it.
>>> You can slurp the whole file into one string (assuming the file size is
>>> less than 65535 bytes), and then use `search` to chop it up.
>>>
>>> %!
>>> %farr.ps File into Array
>>> /infile (farr.ps)(r)file def
>>> infile dup bytesavailable string readstring pop
>>> (\n){ search { 3 1 roll }{ exit } ifelse }loop
>>> count array astore ==
>>>
>>> gs output:
>>>
>>> [(%!) (%farr.ps File into Array) (/infile \(farr.ps\)\(r\)file def)
>>> [(infile
>>> dup bytesavailable string readstring pop) (\(\\n\){ search { 3 1 roll }{
>>> exit } ifelse }loop) (count array astore ==) ()]
>>
>> I already implemented Chris's way, but I'll look into this one also.
>>
>
> No worries. Some caveats are you usually can't rely on `bytesavailable` for
> terminal input or pipes, so you can only slurp a file where the size can be
> discovered by the interpreter. And my use of `search` above left an empty
> string. Adding `pop` just before `exit` will discard it.
I only use real files, so I can use bytesavailable.
I already implemented it. I now added the pop.
It was a lot of work. But I now have a better implementation as I had
with Image Magick (the graphic is always the right width), so it was
worth it. And I can implement other effects also.
--
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
Putting lines from a file into an array Cecil Westerhof <Cecil@decebal.nl> - 2012-12-02 21:02 +0100
Re: Putting lines from a file into an array Chris <cjl@spamcop.net> - 2012-12-02 20:47 +0000
Re: Putting lines from a file into an array Cecil Westerhof <Cecil@decebal.nl> - 2012-12-03 00:52 +0100
Re: Putting lines from a file into an array Don Lancaster <don@tinaja.com> - 2012-12-05 11:58 -0700
Re: Putting lines from a file into an array "luser.droog" <luser.droog@gmail.com> - 2012-12-05 23:19 -0600
Re: Putting lines from a file into an array John Deubert <john@acumentraining.com> - 2012-12-03 13:20 -0800
Re: Putting lines from a file into an array "luser.droog" <luser.droog@gmail.com> - 2012-12-04 00:58 -0600
Re: Putting lines from a file into an array Chris <cjl@spamcop.net> - 2012-12-04 09:09 +0000
Re: Putting lines from a file into an array John Deubert <john@acumentraining.com> - 2012-12-04 07:03 -0800
Re: Putting lines from a file into an array Chris <cjl@spamcop.net> - 2012-12-04 17:46 +0000
Re: Putting lines from a file into an array Cecil Westerhof <Cecil@decebal.nl> - 2012-12-04 17:17 +0100
Re: Putting lines from a file into an array "luser.droog" <luser.droog@gmail.com> - 2012-12-02 15:31 -0600
Re: Putting lines from a file into an array Cecil Westerhof <Cecil@decebal.nl> - 2012-12-03 02:19 +0100
Re: Putting lines from a file into an array "luser.droog" <luser.droog@gmail.com> - 2012-12-02 23:28 -0600
Re: Putting lines from a file into an array Cecil Westerhof <Cecil@decebal.nl> - 2012-12-03 10:01 +0100
Re: Putting lines from a file into an array luser droog <luser.droog@gmail.com> - 2016-08-01 13:25 -0700
Re: Putting lines from a file into an array JohnF <john@please.see.sig.for.email.com> - 2016-08-02 03:39 +0000
Re: Putting lines from a file into an array luser droog <luser.droog@gmail.com> - 2016-08-02 21:58 -0700
Re: Putting lines from a file into an array Tonton Th <tTh@nowhere.invalid> - 2016-08-03 05:10 +0000
Re: Putting lines from a file into an array luser droog <luser.droog@gmail.com> - 2016-08-02 22:20 -0700
Re: Putting lines from a file into an array luser droog <luser.droog@gmail.com> - 2016-08-02 22:35 -0700
Re: Putting lines from a file into an array JohnF <john@please.see.sig.for.email.com> - 2016-08-03 06:21 +0000
Re: Putting lines from a file into an array JohnF <john@please.see.sig.for.email.com> - 2016-08-03 06:32 +0000
Re: Putting lines from a file into an array luser droog <luser.droog@gmail.com> - 2016-08-22 22:31 -0700
csiph-web