Stdin¶
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.
Implements¶
- AsioEventNotify tag
Public Behaviours¶
apply¶
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.
Parameters¶
- notify: (InputNotify iso | None val)
- chunk_size: USize val = 32
dispose¶
Clear the notifier in order to shut down input.