23 people like it.
Like the snippet!
Seq.unsort
Randomizes order of specified sequence
1:
2:
3:
4:
5:
6:
7:
8:
|
module Seq =
let unsort xs =
let rand = System.Random(Seed=0)
xs
|> Seq.map (fun x -> rand.Next(),x)
|> Seq.cache
|> Seq.sortBy fst
|> Seq.map snd
|
module Seq
from Microsoft.FSharp.Collections
val unsort : xs:seq<'a> -> seq<'a>
Full name: Script.Seq.unsort
val xs : seq<'a>
val rand : System.Random
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 map : mapping:('T -> 'U) -> source:seq<'T> -> seq<'U>
Full name: Microsoft.FSharp.Collections.Seq.map
val x : 'a
System.Random.Next() : int
System.Random.Next(maxValue: int) : int
System.Random.Next(minValue: int, maxValue: int) : int
val cache : source:seq<'T> -> seq<'T>
Full name: Microsoft.FSharp.Collections.Seq.cache
val sortBy : projection:('T -> 'Key) -> source:seq<'T> -> seq<'T> (requires comparison)
Full name: Microsoft.FSharp.Collections.Seq.sortBy
val fst : tuple:('T1 * 'T2) -> 'T1
Full name: Microsoft.FSharp.Core.Operators.fst
val snd : tuple:('T1 * 'T2) -> 'T2
Full name: Microsoft.FSharp.Core.Operators.snd
More information