// おまじない。
import std.stdio;
import std.conv;
import std.string;
// おまじない
int main(char[][] args)
{
// 整数型の変数aを定義。初期値は0
int a = 0;
// 整数型の変数aの中身が、0以外である限りずっと俺のターン
while (a!=1)
{
// 数値の入力を促す表示
writef("input number :");
// 文字列を入力して、文字列型の変数bに代入する。
char[] b = chomp( readln() ).dup;
// もし入力した文字列の中身が "1" だったら、
if ( b == "1" )
{
// 変数aを1に変更する。
a = 1;
}
}
// 1が入力され、変数aが1になると、ループを抜けてここにたどり着く。
writefln("inputed 1");
// 次の while(1) と書くループは、
// ループを続ける条件が常に真になるので、
// 明示的にループを抜ける指定をしてやる必要があります。
// 例では、入力に 0 以下の数値を入力することでループを抜けます。
// ずっと俺のターン!
writefln("ずっと俺のターン!");
// ループ開始
while (1)
{
// ドロー!モンスターカード!!
writefln("ドロー!モンスターカード!!");
// 数値の入力を求める表示
writef("Haga's life is ... ");
// 文字列を入力し、整数型の変数 hagalife に
// toIntを使って変換して代入する
int hagalife = toInt( chomp( readln() ) );
if (hagalife <= 0)
// もうやめてー!
{
// ドロー!モンスターカード!!
writefln("もうやめてー! 遊戯ィー!!");
// ループを抜けます。
break;
}
}
// HA☆NA☆SE!!
writefln("HA☆NA☆SE!!");
// 次の例では、10回繰り返したらループを抜けます。
// "continue" と入力するとカウントが増えません。
// 整数型の変数cを初期値0で定義
int c = 0;
// 変数cが10以下である場合、繰り返します。
// この変数cは、ループの処理の一番最後で1ずつ増えていきます。
while (c < 10)
{
// カウントを表示
writefln("%d 回目の処理", c);
// 入力を促すメッセージの表示
writef("input : ");
// 文字列を入力して、文字列型の変数dに代入する。
char[] d = chomp( readln() ).dup;
// 入力したものが "continue" だった場合、
// c++としてカウントを増やす場所まで行くことなく
// 次の繰り返しに移ります。
if (d == "continue")
{
// 以降のループ処理を取りやめて、次の処理に移ります。
continue;
}
// ++演算子によって、何回ループしているかを示す
// カウントを表す変数 c の値を1つ増やします。
c++;
}
// 終わりです
writefln("end.");
// おまじない
return 0;
}
input number :7
input number :5
input number :60
input number :1
inputed 1
ずっと俺のターン!
ドロー!モンスターカード!!
Haga's life is ... 2200
ドロー!モンスターカード!!
Haga's life is ... 700
ドロー!モンスターカード!!
Haga's life is ... -800
もうやめてー! 遊戯ィー!!
HA☆NA☆SE!!
0 回目の処理
input : a
1 回目の処理
input : b
2 回目の処理
input : abcde
3 回目の処理
input : continue
3 回目の処理
input : continue
3 回目の処理
input : efghi
4 回目の処理
input : continue
4 回目の処理
input : aaa
5 回目の処理
input : bbb
6 回目の処理
input : ccc
7 回目の処理
input : continue
7 回目の処理
input : 111
8 回目の処理
input : 222
9 回目の処理
input : 333
end.
// おまじない。
import std.stdio;
import std.conv;
import std.string;
// おまじない
int main(char[][] args)
{
// for文の処理のスタートを表す表示
writefln("start for");
// for文開始。
// int型の変数iを、初期値0から、
// i++によって1ずつ変数iの値を増やしながらループして
// 変数iが10を超えた時点でループを抜けます。
for (int i=0; i<10; i++)
{
// 何回目の処理かを表示する
writefln("%d 回目の実行", i);
}
// for文の処理の終了を表す表示
writefln("end for");
// 上のfor文を使った表現は、以下の表現と同じ結果を出します。
// 以下はwhile文を使って表現する方法です。
writefln("start while");
// int型の変数iを、初期値0から開始して
int i = 0;
// 変数iが10を超えた時点でループを抜けます。
while (i < 10)
{
// 何回目の処理かを表示する
writefln("%d 回目の実行", i);
// i++によって1ずつ変数iの値を増やしながらループ
i++;
}
// while文の処理の終了を表す表示
writefln("end while");
// おまじない
return 0;
}
start for
0 回目の実行
1 回目の実行
2 回目の実行
3 回目の実行
4 回目の実行
5 回目の実行
6 回目の実行
7 回目の実行
8 回目の実行
9 回目の実行
end for
start while
0 回目の実行
1 回目の実行
2 回目の実行
3 回目の実行
4 回目の実行
5 回目の実行
6 回目の実行
7 回目の実行
8 回目の実行
9 回目の実行
end while
input number : 10.5
input operator : -
input number : 4.3
10.5 - 4.3 = 6.2
continue? [y/n] : y
input number : 4.6
input operator : /
input number : 2.3
4.6 / 2.3 = 2
continue? [y/n] : x
continue? [y/n] : z
continue? [y/n] : y
input number : 5.6
input operator : /
input number : 0
0 で割ってはいけない
continue? [y/n] : n
exit