Skip to content

Reading Input

Reading Input

All stdin reading in Thagore uses the std.io module. There is no input() builtin.

Import

import std.io as io

Reading a line

import std.io as io
func main() -> i32:
let line = io.read_line()
println(line)
return 0

read_line returns the line without the trailing newline.

Reading a single word

import std.io as io
func main() -> i32:
let word = io.read_word()
println(word)
return 0

Reading integers

import std.io as io
import std.string as string
func main() -> i32:
let n = io.read_int()
println(string.from_int(n * 2))
return 0

read_int reads one whitespace-delimited i32 token. Use read_i64 for 64-bit integers, read_f64 for floats.

Reading multiple integers

import std.io as io
import std.string as string
func sum_items(items: Array[i32]) -> i32:
let total: i32 = 0
for item in items:
total = total + item
return total
func main() -> i32:
let values = io.read_ints(3)
println(string.from_int(sum_items(values)))
return 0

Reading all of stdin

import std.io as io
func main() -> i32:
let text = io.read_all()
println(text)
return 0

Full reference

FunctionSignatureDescription
read_linefunc read_line() -> strone line, trailing newline stripped
read_wordfunc read_word() -> strone whitespace-delimited token
read_intfunc read_int() -> i32one i32 token
read_i64func read_i64() -> i64one i64 token
read_f64func read_f64() -> f64one f64 token
read_allfunc read_all() -> strremaining stdin as a string
read_intsfunc read_ints(count: i32) -> Array[i32]count integers into array
read_i64sfunc read_i64s(count: i32) -> Array[i64]count i64 values into array

See std.io for the complete module reference.