No edit summary |
(Automatically adding template at the end of the page.) |
||
(14 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
The random operator is used to generate a random value within a specified range or collection. It takes one or two arguments: the first specifies the lower bound or collection, and the second (optional) argument specifies the upper bound. The return value is a randomly selected element from the range or collection. | |||
Int32.Random(Int32 x) returns a random integer [0..x-1]. | Int32.Random(Int32 x) returns a random integer [0..x-1]. | ||
For example Int32.Random(100) will return 0, 1, ... ,99 | |||
For example, Int32.Random(100) will return 0, 1, ...,99 - it will never return 100. | |||
The example below shows one way to generate a random string with a random length (between 7-11 characters): | |||
<pre> | |||
let characters = 'ABCDEFGHJKLMNPQRST23456789'.toCharArray in ( | |||
let wordlength = Int32.Random(5)+7 in ( | |||
Sequence{1..wordlength}->collect(a|characters->at(Int32.Random(100).Mod(tecken->size)+1))->asSeparatedList( '') | |||
) | |||
)</pre>'''Note:''' the exact algorithm for generating random values may vary depending on the implementation of the operator. Also note that there is no random function on Int64 | |||
[[Category:OCL General Operators]] | |||
{{Edited|July|12|2024}} |
Latest revision as of 15:42, 10 February 2024
The random operator is used to generate a random value within a specified range or collection. It takes one or two arguments: the first specifies the lower bound or collection, and the second (optional) argument specifies the upper bound. The return value is a randomly selected element from the range or collection.
Int32.Random(Int32 x) returns a random integer [0..x-1].
For example, Int32.Random(100) will return 0, 1, ...,99 - it will never return 100.
The example below shows one way to generate a random string with a random length (between 7-11 characters):
let characters = 'ABCDEFGHJKLMNPQRST23456789'.toCharArray in ( let wordlength = Int32.Random(5)+7 in ( Sequence{1..wordlength}->collect(a|characters->at(Int32.Random(100).Mod(tecken->size)+1))->asSeparatedList( '') ) )
Note: the exact algorithm for generating random values may vary depending on the implementation of the operator. Also note that there is no random function on Int64