mi-random v1.0.1
mi-random
Supporting Languages
Table of Contents
- mi-random - Supporting Languages - Table of Contents - English version - What's mi-random? - 日本語 (Japanese version) - mi-random とは - 関数一覧 - 目次 - ライセンス
What's mi-random?
This section is currently under construction. Please wait for a while.
mi-random とは
mi-random は数値と文字列の動的な乱数での生成をサポートするパッケージである。長々と書く必要性があったコードを大幅に削減できるため、コードの可読性の向上に繋ぐことができるパッケージである。
関数一覧
ここでは、randomオブジェクト内に定義されている関数とその説明を紹介する。
目次
random.int()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.float()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.str()
関数 - 関数の定義 - 関数の説明 - 引数の指定 - 第二引数についてrandom.shuffle()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.sint()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.sfloat()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.bool()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.percentOfTrue()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.percentOfFalse()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.pick()
関数 - 関数の定義 - 関数の説明 - 引数の指定random.swap()
関数 - 関数の定義 - 関数の説明 - 引数の指定
random.int()
関数
関数の定義
random = {
// 省略
int: (min = 0, max = 1) => {
return Math.round(Math.random() * (max - min) + min);
},
// 以下省略
};
関数の説明
この関数は min
と max
の間の整数型の乱数を生成する関数です。
例えば次のコードような場合、コンソール上の表示は以下になります。
// コード
for (let i = 1; i <= 10; i++) {
console.log(i + "回目:" + random.int(0, 10));
}
// 結果
"1回目:6"
"2回目:8"
"3回目:5"
"4回目:7"
"5回目:2"
"6回目:5"
"7回目:2"
"8回目:7"
"9回目:6"
"10回目:9"
*浮動小数点型の乱数を生成したい場合は random.float()
を、整数型の疑似乱数を生成したい場合は random.sint()
を参照。*
引数の指定
第一引数には生成する数の最小値を、第二引数には生成する数の最大値を指定してください。もし、第一引数もしくは第二引数を省略した場合は、第一引数には 0
が、第二引数には 1
が初期値として適用されます。
random.float()
関数
関数の定義
random = {
// 省略
float: (min = 0.0, max = 1.0) => {
return Math.random() * (max - min) + min;
},
// 以下省略
};
関数の説明
この関数は min
と max
の間の浮動小数点型の乱数を生成する関数です。
引数の指定
第一引数には生成する数の最小値を、第二引数には生成する数の最大値を指定してください。もし、第一引数もしくは第二引数を省略した場合は、第一引数には 0.0
が、第二引数には 1.0
が初期値として適用されます。
random.str()
関数
関数の定義
random = {
// 省略
str: (length = 5 , ...allowType) => {
let str = '';
if (allowType.length === 0) {
str = `!$%&()=~|-^¥[]{}@:;\`*+,./\\_?><1234567890QPWOEIRUTYALSKDJFHGZMXNCBVqpwoeirutyalskdjfhgmznxbcv`;
}
for (const allow of allowType) {
switch (allow) {
case "lowercase":
str += "qpwoeirutyalskdjfhgmznxbcv";
break;
case "uppercase":
str += "QPWOEIRUTYALSKDJFHGZMXNCBV";
break;
case "number":
str += "1234567890";
break;
case "sign":
str += `!$%&()=~|-^¥[]{}@:;\`*+,./\\_?><`;
break;
default:
str += allow;
break;
}
}
let res = '';
for (let i = 0; i < length; i++) {
res += str[Math.round(Math.random() * str.length)];
}
return res;
},
// 以下省略
};
関数の説明
この関数は allowType
に指定された文字から length
分のランダムな文字列を生成する関数です。
引数の指定
第一引数には生成する文字数を、第二引数には生成を許可するタイプ (lowercase
uppercase
number
sign
) を指定してください。もし、第一引数もしくは第二引数を省略した場合は、第一引数には 5
が、第二引数はすべての文字を適用するとみなし、lowercase
、 uppercase
、 number
、 sign
に含まれるすべての文字を代入します。
第二引数について
第二引数になにかの文字が指定されていて、lowercase
uppercase
number
sign
のどれにも該当しない場合は、その文字を追加します。
random.shuffle()
関数
関数の定義
random = {
// 省略
shuffle: (array) => {
for (let i = 0; i < array.length; i++) {
const d1 = random.int(0, array.length - 1);
const tmp = array[d1];
array[d1] = array[i];
array[i] = tmp;
}
return array;
},
// 以下省略
};
関数の説明
この関数は array
に渡された配列の要素をシャッフルして返却する関数です。
引数の指定
第一引数に、配列型のシャッフルしたいものを指定してください。
random.sint()
関数
関数の定義
random = {
// 省略
sint: (min = 0, max = 2) => {
max += 1;
__random_setting.seed = (27853.3573543 * __random_setting.seed + 92584.164) % 1623343853;
return Math.round(__random_setting.seed % (max - min) + min);
},
// 以下省略
};
関数の説明
この関数は __random_setting.seed
に基づいて整数型疑似乱数を生成する関数です。
この関数は仕様上、max - min
が 1623343853
以上の値を指定することができません。
引数の指定
第一引数には生成する数の最小値を、第二引数には生成する数の最大値を指定してください。もし、第一引数もしくは第二引数を省略した場合は、第一引数には 0
が、第二引数には 2
が初期値として適用されます。
random.sfloat()
関数
関数の定義
random = {
// 省略
sfloat: (min = 0, max = 2) => {
max += 1;
__random_setting.seed = (27853.3573543 * __random_setting.seed + 92584.164) % 1623343853;
return __random_setting.seed % (max - min) + min;
},
// 以下省略
};
関数の説明
この関数は __random_setting.seed
に基づいて浮動小数点型疑似乱数を生成する関数です。
この関数は仕様上、max - min
が 1623343853
以上の値を指定することができません。
引数の指定
第一引数には生成する数の最小値を、第二引数には生成する数の最大値を指定してください。もし、第一引数もしくは第二引数を省略した場合は、第一引数には 0
が、第二引数には 2
が初期値として適用されます。
random.bool()
関数
関数の定義
random = {
// 省略
bool: () => {
return random.int(0, 1) === 1 ? true : false;
},
// 以下省略
};
関数の説明
この関数は random.int()
を使用して boolean 型の値を返す関数です。
引数の指定
引数には何も指定しないでください。
random.percentOfTrue()
関数
関数の定義
random = {
// 省略
percentOfTrue: (times = 10000) => {
let trues = 0;
let tol = 0;
for (tol = 0; tol < times; tol++) {
if (random.bool()) {
trues++;
}
}
return (trues / tol) * 100;
},
// 以下省略
};
関数の説明
この関数は、指定された回数分 random.bool()
を呼び出し、結果が true
だった割合を返却する関数です。
引数の指定
第一引数には random.bool()
を呼び出す回数を指定してください。この値を極端に大きくすると、精度は向上しますが、処理速度が低下しますので注意してください。もし、第一引数を省略した場合は、初期値として 10000
が適用されます。
random.percentOfFalse()
関数
関数の定義
random = {
// 省略
percentOfFalse: (times = 10000) => {
let falses = 0;
let tol = 0;
for (tol = 0; tol < times; tol++) {
if (!random.bool()) {
falses++;
}
}
return (falses / tol) * 100;
},
// 以下省略
};
関数の説明
この関数は、指定された回数分 random.bool()
を呼び出し、結果が false
だった割合を返却する関数です。
引数の指定
第一引数には random.bool()
を呼び出す回数を指定してください。この値を極端に大きくすると、精度は向上しますが、処理速度が低下しますので注意してください。もし、第一引数を省略した場合は、初期値として 10000
が適用されます。
random.pick()
関数
関数の定義
random = {
// 省略
pick: (array) => {
return array[random.int(0, array.length - 1)];
},
// 以下省略
};
関数の説明
この関数は、指定された配列からランダムに要素を取り出し、それを返却する関数です。
引数の指定
第一引数には配列を指定してください。省略した場合の定義はそれぞれの実行環境により異なります。
random.swap()
関数
関数の定義
random = {
// 省略
swap: (array, times = 1) => {
for (let i = 0; i < times; i++) {
const d1 = random.int(0, array.length - 1);
const d2 = random.int(0, array.length - 1);
const tmp = array[d1];
array[d1] = array[d2];
array[d2] = tmp;
}
return array;
}
// 以下省略
};
関数の説明
この関数は、指定された回数分配列の要素をランダムに交換する関数です。
この関数は
random.shuffle()
と違い、すべての要素をシャッフルするわけではありません。
引数の指定
第一引数には ランダムに交換したい配列を、第二引数には、交換したい回数を指定してください。もし省略した場合は、第一引数には何も渡されず、第二引数には 1
が指定されます。
ライセンス
ライセンスは MIT です。