RANDRANGE | |
説明
指定された 2 つの数値間の範囲で擬似乱数 (整数) を生成します。 |
|
戻り値
擬似乱数 (整数) |
|
カテゴリ
算術関数、セキュリティ関数 |
|
関数のシンタックスRandRange(number1, number2[, algorithm]) |
|
ヒストリ
ColdFusion MX 7: algorithm パラメータが追加されました。 |
|
関連項目
Rand、Randomize |
|
パラメータ
|
|
使用方法
number1 パラメータおよび number2 パラメータが正または負の非常に大きな値である場合、得られる結果のランダム性が低下することがあります。この問題を回避するには、-1,000,000,000 〜 1,000,000,000 の範囲外の数値を指定しないようにします。 ColdFusion MX 7 では、JCE (Java Cryptography Extension) を使用し、Sun JCE デフォルトセキュリティプロバイダを含む Sun Java 1.4.2 ランタイムがインストールされます。このプロバイダには、前の「パラメータ」に示したアルゴリズム (デフォルトのアルゴリズムを除く) が含まれています。JCE フレームワークには、他のプロバイダを実装するための機能も含まれています。ただし、当社ではサードパーティのセキュリティプロバイダに対するテクニカルサポートは提供していません。 |
|
例
次の例では、乱数の値の範囲を指定し、必要に応じて乱数のシード値を指定するフォームを使用します。cfform のコントロールおよび属性を使用して、デフォルトの範囲が指定され、範囲フィールドに値が設定され、そのフィールド値が指定の範囲内にあることが確認されます。フォームを送信すると、シードフィールドに空の文字列がないかどうかが確認されます。フィールドに値がある場合、コードはその値を使用して乱数ジェネレータのシードを設定します。次に、乱数が生成され、表示されます。 <h3>RandRange の例</h3> <!--- フォームが送信された場合に限り、次の処理を実行します。 ---> <cfif IsDefined("Form.mySeed")> <!--- シードフィールドに空の文字列がない場合に限り、次の処理を実行します。 ---> <cfif Form.mySeed NEQ ""> <cfoutput> <b>シード値 : #FORM.mySeed#</b><br> </cfoutput> <br> <!--- Randomize を呼び出して、乱数ジェネレータのシードを設定します。 ---> <cfset r = Randomize(FORM.mySeed, "SHA1PRNG")> <cfelse> <b>送信されるシード値なし</b><br> </cfif> <!--- 乱数を生成して表示 ---> <cfoutput><p><b> 返される RandRange : #RandRange(FORM.myInt, FORM.myInt2, "SHA1PRNG")# </cfoutput></b></p> </cfif> <!--- このフォームでは cfform 入力検証を使用して入力範囲をチェックします。 ---> <cfform action = "#CGI.SCRIPT_NAME#"> <p>乱数の範囲を入力します。 : From <cfinput type = "Text" name = "MyInt" value = "1" RANGE = "-1000000000,1000000000" message = "-1,000,000,000 〜 1,000,000,000 の範囲内の値を入力してください。" validate = "integer" required = "Yes"> To <cfinput type = "Text" name = "MyInt2" value = "9999" RANGE = "-1000000000,1000000000" message = "-1,000,000,000 〜 1,000,000,000 の範囲内の値を入力してください。" validate = "integer" required = "Yes"></p> <p>乱数ジェネレータのシードに使用する値を入力してください。 <cfinput type = "Text" name = "mySeed" RANGE = "-1000000000,1000000000" message = "-1,000,000,000 〜 1,000,000,000 の範囲内の値を入力してください。" validate = "integer" required = "No"></p> <p><input type = "Submit" name = ""> </cfform> |
NUMBER1、NUMBER2 | |
整数です。数値が -2,147,483,648 〜 2,147,483,647 の範囲外である場合、ColdFusion ではエラーが生成されます。 |
ALGORITHM | |
(オプション) 乱数を生成するために使用するアルゴリズムです。ColdFusion MX では、
次のアルゴリズムを使用する暗号ライブラリがインストールされます。
|