| Deutsch English Français Italiano |
|
<v9jc40$kngb$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: news.eternal-september.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: "B. Pym" <Nobody447095@here-nor-there.org>
Newsgroups: comp.lang.lisp
Subject: Re: Reading a text file not line by line but at once (beginner)
Date: Wed, 14 Aug 2024 22:46:26 -0000 (UTC)
Organization: A noiseless patient Spider
Lines: 42
Message-ID: <v9jc40$kngb$1@dont-email.me>
References: <v7m6hb$on7o$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Injection-Date: Thu, 15 Aug 2024 00:46:26 +0200 (CEST)
Injection-Info: dont-email.me; posting-host="8dd797abfa9c4845a90c0b3910c2697b";
logging-data="679435"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18S7fSV3RQR3zfbqNLB7pNn"
User-Agent: XanaNews/1.18.1.6
Cancel-Lock: sha1:pDy7ToY/4oYP7G3ldlbfCQcR3HA=
B. Pym wrote:
> > > I have a file which consists of one word per line and I would like to
> > > read it into a single list.
> > > Searching the web[1] I found something which I adapted to my
> > > needs. Basically the code works but it is terribly inefficient. This
> > > is not the fault of the CL Cookbook. Probably I am using a hammer as a
> > > screwdriver.
> > >
> > > I'd be happy if you can give me some directions how I can tackle the
> > > problem in a better way.
> >
> > I like loop for this:
> >
> > (with-open-file (s "foo.txt" :direction :input)
> > (loop for line = (read-line s nil)
> > while line
> > collect line))
>
> Gauche Scheme
>
> (use gauche.generator)
>
> (with-input-from-file "temp.txt"
> (cut generator->list read-line))
>
>
> Paul Graham, May 2001:
>
> A hacker's language is terse and hackable. Common Lisp is not.
>
> The good news is, it's not Lisp that sucks, but Common Lisp.
newLISP
(let (h (open "output.dat" "read"))
(println (collect (read-line h)))
(close h))
("foo 0" "2 4 6" "8 9")