Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.postscript > #1136

Re: Putting lines from a file into an array

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)

Show all headers | View raw


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


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