Tips:配列の要素をランダムに選択する
この記事では、配列の要素をランダムに選択する関数を作ってみます。
乱数を生成する¶
乱数を生成するには、Alice.Random名前空間のrand関数を使うのが便利です。
rand
関数には、返す値の上限を指定できます。
次の例は、rand
関数を使って0から9までのランダムな値をたくさん表示するコードです。
AliceScript
using Alice.Random;
print("0~9までの乱数を生成します。");
print("終わる時はCtrl + Cを押してください。");
while(true)
{
number num = random(10);
write($"{num}, ");
delay(100);
}
配列の要素をランダムに選ぶ¶
上記の例を活用して、配列の要素をランダムに選ぶ関数を作ってみます。 返す値の上限には、配列の長さを指定します。これで、0~配列の末尾までのランダムな数字が選べるというわけです。
AliceScript
using Alice.Random;
variable aryRandomChoice(array ary)
{
number ind = rand(ary.Length);
return ary[ind];
}
使用例
ここで作った関数は以下のように使えます。
拡張メソッドを使って作ってみましょう。
AliceScript
using Alice.Random;
variable randomChoice(this array ary)
{
number ind = rand(ary.Length);
return ary[ind];
}
使用例