No edit summary |
(Automatically adding template at the end of the page.) |
||
(3 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
The | 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]. | ||
Line 12: | Line 12: | ||
Sequence{1..wordlength}->collect(a|characters->at(Int32.Random(100).Mod(tecken->size)+1))->asSeparatedList( '') | 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. | )</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]] | [[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