Re: Reading data into list from "include" file

Liste des GroupesRevenir à cl lisp 
Sujet : Re: Reading data into list from "include" file
De : Nobody447095 (at) *nospam* here-nor-there.org (B. Pym)
Groupes : comp.lang.lisp
Date : 11. Jul 2024, 18:01:13
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v6ovk8$2he6l$1@dont-email.me>
References : 1 2 3 4 5
User-Agent : XanaNews/1.18.1.6
B. Pym wrote:

B. Pym wrote:
 
Raymond Wiker wrote:
 
For people who don't like extended loop, I think this a better
implementation:
 
(defun read-numbers-from-file/2 (file-path n)
  (with-open-file (f file-path :direction :input)
    (let ((res nil))
      (dotimes (i n)
        (push (parse-integer (read-line f nil)) res))
      (nreverse res))))
 
Gauche Scheme
 
(with-input-from-file "output.dat"
  (lambda res
    (until (read) eof-object? => x
      (push! res x))
    (reverse res)))
 
  ===>
(4 3 2 1 3 4 2 1 4 2 3 1 2 4 3 1 3 2 4 1 2 3 4 1 4 3 1 2
 3 4 1 2 4 1 3 2 1 4 3 2 3 1 4 2 1 3 4 2 4 2 1 3 2 4 1 3
 4 1 2 3 1 4 2 3 2 1 4 3 1 2 4 3 3 2 1 4 2 3 1 4 3 1 2 4
 1 3 2 4 2 1 3 4 1 2 3 4)
 
 
 
(define (collect-till pred gen key)
  (do ((x (gen) (gen))
       (res '() (cons x res)))
    ((pred x)  (reverse res))))
 
(with-input-from-file "output.dat"
  (lambda _
    (collect-till eof-object? read +)))

(with-input-from-file "output.dat"
  (lambda _  (collect-while + read)))


Given:

(define (collect-while pred gen . opt-key)
  (let ((key (if (pair? opt-key) (car opt-key) values)))
    (do ((x (gen) (gen))
         (res '() (cons (key x) res)))
      ((or (eof-object? x) (not (pred x)))  (reverse res)))))
 


Date Sujet#  Auteur
10 Jul 24 * Re: Reading data into list from "include" file3B. Pym
11 Jul 24 `* Re: Reading data into list from "include" file2B. Pym
11 Jul 24  `- Re: Reading data into list from "include" file1B. Pym

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal