builtin Stdin - tadashi9e/gmp4pony GitHub Wiki
Asynchronous access to stdin. The constructor is private to ensure that access is provided only via an environment.
Reading from stdin is done by registering an InputNotify:
actor Main
new create(env: Env) =>
// do not forget to call `env.input.dispose` at some point
env.input(
object iso is InputNotify
fun ref apply(data: Array[U8] iso) =>
env.out.write(String.from_iso_array(consume data))
fun ref dispose() =>
env.out.print("Done.")
end,
512)Note: For reading user input from a terminal, use the term package.
actor tag Stdin is
AsioEventNotify tag- AsioEventNotify tag
Set the notifier. Optionally, also sets the chunk size, dictating the maximum number of bytes of each chunk that will be passed to the notifier.
be apply(
notify: (InputNotify iso | None val),
chunk_size: USize val = 32)- notify: (InputNotify iso | None val)
- chunk_size: USize val = 32
Clear the notifier in order to shut down input.
be dispose()