組み込みコロニー
このドキュメントでは、利用可能な組み込みコロニーを、使用例とともに説明します。
ここでは、各コロニーがどのような規則を追加するかを説明するために、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