rand

ランダムな整数を返します。


taiseiue | 2021-08-10

定義

名前空間: Alice.Random
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Random.cs

rand()

0以上のランダムな整数を返します。

AliceScript
namespace Alice.Random;
public number rand();
戻り値
number 0以上2147483647未満の整数。

対応
AliceScript RC1、RC2、GM、2.0、2.1、2.2、2.3、3.0
AliceSister GM、2.0、2.1、2.2、2.3、3.0
Losetta 0.8、0.9、0.10

rand(number)

指定された最大値より大きい0以上のランダムな整数を返します。

AliceScript
namespace Alice.Random;
public number rand(number max);
引数
max 生成される乱数の上限。この値は0以上にする必要があります。
戻り値
number 0以上max未満の整数。

対応
AliceScript RC1、RC2、GM、2.0、2.1、2.2、2.3、3.0
AliceSister GM、2.0、2.1、2.2、2.3、3.0
Losetta 0.8、0.9、0.10

rand(number,number)

指定された範囲内のランダムな整数を返します。

AliceScript
namespace Alice.Random;
number rand(number min,number max);
引数
min 生成される乱数の下限。
max 生成される乱数の上限。この値はmin以上にする必要があります。
戻り値
number min以上max未満の整数。つまり、戻り値の範囲にminは含まれますがmaxは含まれません。minmaxと等しい場合は、minが返されます。

対応
AliceScript RC1、RC2、GM、2.0、2.1、2.2、2.3、3.0
AliceSister GM、2.0、2.1、2.2、2.3、3.0
Losetta 0.8、0.9、0.10

説明

この関数が生成する値は、暗号学的には安全ではありません。そのため、これを暗号や、推測できないことが期待される値として使うことはできません。

暗号学的に安全な乱数が必要な場合は、random_intrandom_bytes関数が、便利で安全です。しかし、それらの方法はこの関数を使用した方法と比較すると非常に低速になります。

次の例では、乱数を生成し表示しています。

AliceScript
using Alice.Random;

number r = rand();
print(r);

次の例では、30以下の乱数を生成し表示しています。

AliceScript
using Alice.Random;

number r = rand(30);
print(r);

次の例では、10以上30以下の乱数を生成し表示しています。

AliceScript
using Alice.Random;

number r = rand(10,30);
print(r);