Module std/io/text.vv
The io/text module provides a buffered text reader using an encoding.
Example:
import text from "std/io/text.vv"
import file from "std/fs/file.vv"
import utf8 from "std/encoding/utf8.vv"
let f = try file.reader("test.txt")
let r = try text.reader(f, utf8)
// text.close also closes the internal reader (f), so no need for a separate defer for f.
defer text.close(r)
let line = try text.read_line(r)
Exports
fun close(r)
Closes the reader.
r: The reader record.
fun read(r)
Reads a single character from the reader.
r: The text reader record.
Returns a result containing a record { char = c, size = n }.
fun peek(r)
Peeks a single character without advancing the position.
r: The text reader record.
Returns a result containing a record { char = c, size = n }.
fun read_line(r)
Reads a line from the reader.
r: The text reader record.
Returns a result containing a list of characters (excluding line breaks).
fun read_all(r)
Reads all remaining content as a list of characters.
r: The text reader record.
Returns a result containing a list of characters.
fun reader(source_reader, encoding_module)
Creates a buffered text reader using an encoding.
source_reader: An object with aread(length)method.encoding_module: An encoding module (e.g.,utf8orsjis).
Returns a result containing a text reader record.