La meilleure façon de lire les fichiers/écriture dans un schéma conforme R5RS est:
;; Read a text file
(call-with-input-file "a.txt"
(lambda (input-port)
(let loop ((x (read-char input-port)))
(if (not (eof-object? x))
(begin
(display x)
(loop (read-char input-port)))))))
;; Write to a text file
(call-with-output-file "b.txt"
(lambda (output-port)
(display "hello, world" output-port))) ;; or (write "hello, world" output-port)
Scheme a cette notion de ports qui représentent les périphériques sur lesquels les opérations d'E/S peuvent être effectuées. La plupart des implémentations de Scheme associent call-with-input-file
et call-with-output-file
avec des fichiers de disque littéraux et vous pouvez les utiliser en toute sécurité.
Merci beaucoup :) – JJunior