メインコンテンツまでスキップ

組み込みコロニー

このドキュメントでは、利用可能な組み込みコロニーを、使用例とともに説明します。

ここでは、各コロニーがどのような規則を追加するかを説明するために、Shol のコードと Rust のコードを混ぜた文法を用いますが、実際のプログラムでは使用できません。

"{" Rustコード "}"

print

標準出力に改行付きでリソースを出力するコロニーです。
str 以外のリソースも、文字列化されて出力されます。

追加される規則

末尾に以下の規則が追加されます。

. $ # {
println!("{}", $);
}

使用例

*sample
Hello
World
. $ #print $

%print

以下が出力されます。

Hello
World

cout

標準出力に改行なしでリソースを出力するコロニーです。
str 以外のリソースも、文字列化されて出力されます。

追加される規則

末尾に以下の規則が追加されます。

. $ # {
print!("{}", $);
io::stdout().flush().unwrap();
}

使用例

*sample
Hello
World
. $ #cout $

%cout

以下が出力されます。

HelloWorld

cin

標準入力を受け取るコロニーです。Console Input の略です。

標準入力からの入力があると、入力された行が str 型のリソースとしてこのコロニーに送信されます。

追加される規則

なし

使用例

標準入力された整数値の 2 倍を出力します。

%cin
. $ #print $.int * 2

%print

exit

int 型のリソースを終了コードとして、プログラムの実行を終了するコロニーです。

追加される規則

末尾に以下の規則が追加されます。

. $:int # {
return ExitCode::from($ as u8);
}

使用例

10 サイクル目にプログラムを正常終了します。

*exit_counter
10
. $ # $-1
| 1 #exit 0

%exit