Deutsch English Français Italiano |
<vcj7tu$1095b$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: "B. Pym" <Nobody447095@here-nor-there.org> Newsgroups: comp.lang.lisp,comp.lang.scheme Subject: Re: reading-files. CLOS-support? Date: Fri, 20 Sep 2024 07:23:55 -0000 (UTC) Organization: A noiseless patient Spider Lines: 37 Message-ID: <vcj7tu$1095b$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Injection-Date: Fri, 20 Sep 2024 09:23:55 +0200 (CEST) Injection-Info: dont-email.me; posting-host="a0826257f8080eff71f9956e8770cd16"; logging-data="1057963"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18WqJS60UdjWumeef98mk+I" User-Agent: XanaNews/1.18.1.6 Cancel-Lock: sha1:Gcey7Pndt+7TmITUkzlXbqA/Lpw= Bytes: 2216 Pete Halverson wrote: > > > I need to read an input file which is not written out as lists. > > > I can use read-line and get it as a string. > > > how do I convert this string to a list. > > > eg of kind of lines to be read and converted > > > Line 13.4 24 50 100.0 45.6 78 > > > eye 0 0 0 > > > aim -75 10 12 > > > One posible solution I have is to coerce the string into a list > > > and reformulate the list by "imploding" atoms separated by blank spaces > > > together. This doesnt work for the number portion yet.But, I am still > > > working on it. > > > > Id be very interested in solutions to this as well. Id be happy to receive > > duplicates of any email-messages showing up. > > I would expect something as trivial as > > (defconstant +EOF-MARKER+ (make-symbol "EOF")) > > (defun READ-TOKENS-FROM-STRING (string) > (with-input-from-string (stream string) > (loop for thing = (read stream nil +eof-marker+) > until (eq thing +eof-marker+) > collect thing))) > > ought to suffice here. (Apologies to loop haters; conversion to "Lisp" is > left as an exercise to the reader :-) Gauche Scheme: (use gauche.generator) (define (read-tokens-from-string string) (with-input-from-string string (cut generator->list read)))