IntroJS の入出力
IntroJS の入出力は、標準入出力のみです。 ファイル入出力は、ありません。 IntroJS では、文字列を扱えないので、ファイル名が必要になるファイル入出力は、ばっさりと省きました。
入力データの書式は、空白区切りのテキストです。 行は、改行で区切ります。 行の先頭と末尾の空白は無視します。 値は、1 つ以上の半角スペース、または、水平タブで区切ります。 つまり、次の 2 行は読み込むデータとしては、同等になります。
1 2 3 1 2 3
標準入力からデータを読み込むには、次の組み込み関数を使います。
read(values: Int[], offset: Int, length: Int): Int
read_int(): Int
read_ints(max_length: Int): Int[]
これらの関数を 1 回呼び出すごとに、標準入力から 1 行を読み取ります。
read
の戻り値は、値の個数です。
空行のときは、0 を返します。
入力の最後に達したときは、-1 を返します。
read_int
の戻り値は、1 行の中の最初の値です。
空行、または、入力の最後のときは、0 を返します。
空行と入力の最後を区別したいときは、read
を使う必要があります。
read_ints
の戻り値は、1 行の値の配列です。
空行、または、入力の最後のときは、空の配列を返します。
空行と入力の最後を区別したいときは、read
を使う必要があります。
read_ints
の戻り値の配列の長さは、引き数で指定した長さ以下になります。
1 行の値の数が少ないときは、指定した長さよりも短い長さの配列を返します。
(引き数で指定した長さまで、0 で埋めるようなことはしません。)
出力データの書式も、空白区切りのテキストです。 通常は、行区切りは LF、値区切りは水平タブで出力します。
標準出力にデータを書き出すには、次の組み込み関数を使います。
write(values: Int[], offset: Int, length: Int)
write_int(value: Int)
write_ints(values: Int[])
これらの関数を 1 回呼び出すごとに、標準出力に 1 行を書き出します。
ということで、整数型しか使えない簡易プログラミング言語 IntroJS は、いかがでしょうか。