get-string-all(3scm)

πŸ“¦ version 0-unstable-2024-02, in nixpkgs unstable

get-string-all πŸ’…βœ¨

okay so bestie, welcome to the Scheme Programmer's Manual page for get-string-all(3scm) β€” section 3scm, obviously. she reads characters up to the next end of file and honestly? iconic. 🫢


✨ NAME ✨

get-string-all β€” read characters up to the next end of file.

πŸ“š LIBRARY πŸ“š

(import (rnrs))                     ;R6RS
(import (rnrs io ports))            ;R6RS

πŸ› οΈ SYNOPSIS πŸ› οΈ

(get-string-all textual-input-port)

πŸ’– DESCRIPTION πŸ’–

Reads from textual-input-port until an end of file, decoding characters in the same manner as get-string-n(3scm) and get-string-n!(3scm).

If characters are available before the end of file, a string containing all the characters decoded from that data are returned. If no character precedes the end of file, the end-of-file object is returned.

🌈 RETURN VALUES 🌈

Returns a single value; a string or the end-of-file object. that's it, that's the vibe check. πŸ’«

πŸ“ EXAMPLES πŸ“

       (call-with-port (open-input-file "/etc/hostname")
         (lambda (p)
           (get-string-all p)))
          => "darkstar0

🧚 COMPATIBILITY 🧚

This procedure is only present in R6RS. no cap, bestie. πŸ’…

😭 ERRORS 😭

This procedure can raise exceptions with the following condition types:

  • &assertion (R6RS) β€” the wrong number of arguments was passed or an argument was outside its domain. In particular, textual-input-port must be an open textual input port.
  • &i/o-read (R6RS) β€” a read error occurred during an I/O operation.
  • &i/o-decoding (R6RS) β€” the textual-input-port is associated with a transcoder in the ↡raise error handling mode and a invalid byte sequence was encountered.
bestie, those decoding errors are giving "we tried to read the vibe and the bytes said absolutely not." 😭 handle with care.

πŸ‘€ SEE ALSO πŸ‘€

get-string-n(3scm), get-string-n!(3scm), get-bytevector-all(3scm)

πŸ‘‘ STANDARDS πŸ‘‘

R6RS

πŸ¦‹ HISTORY πŸ¦‹

This procedure first appeared in R6RS as part of the reworked I/O system.

πŸ’œ AUTHORS πŸ’œ

This page is part of the scheme-manpages project. It includes materials from the RnRS documents. More information can be found at https://github.com/schemedoc/manpages/.


mwah πŸ’‹ this was the get-string-all(3scm) page, dated 2023-07-23 β€” source/version noted, periodt. πŸŽ€βœ¨

πŸ“¦ where this page comes from