letrand=newSystem.Random()
letswap (a: _[]) xy=lettmp=a.[x]
a.[x] <-a.[y]
a.[y] <-tmp// shuffle an array (in-place)letshufflea=Array.iteri (funi _ ->swapai (rand.Next(i, Array.lengtha))) a
val rand : System.Random
Full name: Script.rand
namespace System
Multiple items type Random = new : unit -> Random + 1 overload member Next : unit -> int + 2 overloads member NextBytes : buffer:byte[] -> unit member NextDouble : unit -> float
Full name: System.Random
-------------------- System.Random() : unit System.Random(Seed: int) : unit
val swap : a:'a [] -> x:int -> y:int -> unit
Full name: Script.swap
val a : 'a []
val x : int
val y : int
val tmp : 'a
val shuffle : a:'a [] -> unit
Full name: Script.shuffle
module Array
from Microsoft.FSharp.Collections
val iteri : action:(int -> 'T -> unit) -> array:'T [] -> unit
Full name: Microsoft.FSharp.Collections.Array.iteri
val i : int
System.Random.Next() : int System.Random.Next(maxValue: int) : int System.Random.Next(minValue: int, maxValue: int) : int
val length : array:'T [] -> int
Full name: Microsoft.FSharp.Collections.Array.length