Qu

read_char

Builtin index · File I/O

result = read_char(f)

Input: f · Output: result

What it is

Reads one character from f (file handle, opened readable), UTF-8 aware.

Overloads

One call shape — this function is not overloaded.

CodeInputOutputDescription
result = read_char(f)
f stringnot documented yet
result string
Returns a one-character string, or Nothing at EOF.

Examples

From the documentation, and run by the build -- the output and the figure below are what the engine actually produced. Simplest first.

f = fopen("greeting.txt", "w")
write_char(f, "Hello,World")
close(f)

g = fopen("greeting.txt", "r")
first       = read_char(g)         # "H"

peeked      = peek_char(g)         # "e" -- cursor not moved

next        = read_char(g)         # "e" again, same char peeked returned

chunk       = read_chars(g, 3)     # "llo"

next_byte   = peek_byte(g)         # 44, the byte for ',' -- still not consumed

before_comma = read_until(g, ",")  # "" -- the comma was right there, now consumed

w_byte      = read_byte(g)         # 87, the byte for 'W'

rest        = read_all(g)          # "orld"

close(g)
print("{first}{next}{chunk} peeked={peeked} next_byte={next_byte} before_comma=\"{before_comma}\" w_byte={w_byte} rest={rest}")
# Hello peeked=e next_byte=44 before_comma="" w_byte=87 rest=orld

output
Hello peeked=e next_byte=44 before_comma="" w_byte=87 rest=orld

from file-io

How it works

read_char(f) — one character (UTF-8 aware), or Nothing at EOF.

From the note above this builtin in the interpreter, where the reasoning was written down as it was built.