Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.postscript > #1129
| From | "luser.droog" <luser.droog@gmail.com> |
|---|---|
| Newsgroups | comp.lang.postscript |
| Subject | Re: Putting lines from a file into an array |
| Date | 2012-12-02 15:31 -0600 |
| Organization | unorganized |
| Message-ID | <k9gput$d8j$1@dont-email.me> (permalink) |
| References | <87624kp6hc.fsf@Compaq.site.inet> |
Cecil Westerhof wrote:
> I have the following script:
> /buffer 80 string def
> /inputFile INPUT (r) file def
> {
> inputFile buffer readline {
> =
> }{
> pop
> inputFile closefile
> exit
> } ifelse
> } loop
>
> This displays the file. But instead of displaying I would like to put
> the lines into an array.
>
> Just keeping the values on the stack Like:
> /buffer 80 string def
> /inputFile INPUT (r) file def
> {
> inputFile buffer readline {
> % Keep it on the stack
> }{
> pop
> inputFile closefile
> exit
> } ifelse
> } loop
> stack
>
> does not work, because the lower values are overwritten.
>
> The first script gives:
> They are not only idle who do nothing,
> but they are idle also
> who might be better employed.
>
> Socrates
>
> While the second gives:
> Socrates
>
> Socratest be better employed.
> Socratest be better em
> Socratest be better employed. nothing,
>
> How would I get the lines correctly into an array?
>
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 ==) ()]
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