Re: Newbie cluelessness continued...

Liste des GroupesRevenir à cl scheme 
Sujet : Re: Newbie cluelessness continued...
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lisp comp.lang.scheme
Date : 07. Jul 2025, 06:13:21
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <104fl1g$2oqg5$1@dont-email.me>
References : 1
User-Agent : XanaNews/1.18.1.6
B. Pym wrote:

Tim Bradshaw wrote:
 
  (with-open-file (...)
    (loop for line = (read-line stream nil stream)
          until (eql line stream)
          collect line))
 
Gauche Scheme
 
(use srfi-42)  ;; list-ec
 
(call-with-input-file "data.bak"
  (lambda (port)
    (list-ec (:port line port read-line) line)))

Sascha Wilde wrote:

speaking of basic tools i would prefer using do rather when loop
(which IMHO is quite "unlispish") like:
 
(defun read-file (arg-file-name)
  (with-open-file (stream arg-file-name :direction :input)
    (do ((line nil (read-line stream nil stream))
         (r nil (push line r)))

Should have used cons instead of push.

          ((eql line stream) (cdr (nreverse r))))))

The cdr removes the bogus first element (nil).

Scheme

(define (file->lines file-name)
  (with-input-from-file file-name
    (lambda()
      (do ((line #f (read-line))
           (r '() (cons line r)))
        ((eof-object? line) (cdr (reverse r)))))))


Date Sujet#  Auteur
7 Jul05:36 * Re: Newbie cluelessness continued...3B. Pym
7 Jul06:13 +- Re: Newbie cluelessness continued...1B. Pym
7 Jul19:44 `- Re: Newbie cluelessness continued...1B. Pym

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal