F#卡随机播放功能

问题描述

我一直在尝试用F#创建一个简单的纸牌游戏,我已经使用system.Random创建了一个简单的随机函数


type card = int
type deck = card list
let rand : int -> int = let rnd = System.Random ()
                        in fun n -> rnd.Next (0,n )

但是我的问题是我不知道如何使用rand函数创建一个shuffle函数卡座->卡座。

需要任何帮助。

解决方法

您可以根据随机值进行排序:

let shuffle (d:deck) =
    let rnd = System.Random ()
    d |> List.sortBy(fun _ -> rnd.Next(1,52) )