OCLOperators random
m ((username removed) (log details removed): Moving to Documentation namespace)
(Automatically adding template at the end of the page.)
 
Line 14: Line 14:
)</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
)</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

This page was edited 97 days ago on 02/10/2024. What links here