Datetime SML日期结构

Datetime SML日期结构,datetime,sml,random-seed,Datetime,Sml,Random Seed,我一直在尝试找出SML中的随机数生成。有一个标准的库函数,它要求每次计算都有一个新的种子 let val seed = Random.rand (123,456) in List.tabulate(5, fn i => Random.randRange (1,100) seed) end val it = [26,39,64,39,84] : int list 这很好,但除非每次都用新的数字对更新种子,否则会得到相同的随机数。找到了一种获取新号码的方法,但这似乎过时了

我一直在尝试找出SML中的随机数生成。有一个标准的库函数,它要求每次计算都有一个新的种子

let
    val seed = Random.rand (123,456)
in
    List.tabulate(5, fn i => Random.randRange (1,100)  seed)
end

val it = [26,39,64,39,84] : int list
这很好,但除非每次都用新的数字对更新
种子
,否则会得到相同的随机数。找到了一种获取新号码的方法,但这似乎过时了,也就是说,它似乎不起作用——或者我只是没有正确地使用它

val seed = 
    let
        val Date.DATE(d) = Date.fromTime(Time.now())
        val m            = #minute d
        val s            = #second d
    in
        m,s)
    end

fun random (l,h) = Random.randRange (l,h) seed
具体地说,我不能得到

val Date.DATE(d) = Date.fromTime(Time.now())
工作。我试过了

- val Date.DATE(d) = Date.fromTimeLocal(Time.now());
但是我得到了错误

stdIn:7392.1-7392.10 Error: unbound variable or constructor: DATE in path Date.DATE
stdIn:7392.1-7392.10 Error: variable found where constructor is required: Date.DATE
stdIn:7392.1-7392.12 Error: constant constructor applied to argument in pattern:bogus
然而,这是可行的

- val mydate = Date.fromTimeLocal(Time.now())
val mydate =
:   DATE
:     {day=17,hour=22,isDst=SOME true,minute=27,month=Apr,
:      offset=SOME (TIME {usec=#}),second=3,wday=Fri,yday=107,year=2020}
:   : Date.date

但是作为初学者,我真的不知道如何从
mydate
中提取任何内容。似乎
Date.Date(d)=
应该将评估“强制”到变量
d
,该变量可以通过记录字段
#minute
#second
访问。。。如能作出解释,将不胜感激。(是
日期
结构。)

常见问题解答非常过时,似乎使用了非常旧的
日期
结构

这对我很有用:

val seed = 
    let
        val d = Date.fromTimeLocal(Time.now())
        val m = Date.minute d
        val s = Date.second d
    in
        Random.rand (m,s)
    end;

fun random (l,h) = Random.randRange (l,h) seed;
测试:


常见问题解答非常过时,似乎使用了非常旧的
date
结构

这对我很有用:

val seed = 
    let
        val d = Date.fromTimeLocal(Time.now())
        val m = Date.minute d
        val s = Date.second d
    in
        Random.rand (m,s)
    end;

fun random (l,h) = Random.randRange (l,h) seed;
测试:


最近又有人推动了SML包管理器的开发

为数不多的可用软件包之一是


最近又有人推动了SML包管理器的开发

为数不多的可用软件包之一是


是的,约翰·雷皮证实了。你给出的也是他的基本建议。很高兴记录在案。是的,约翰·雷皮证实了。你给出的也是他的基本建议。很高兴将此记录在案。是否有SMLNJ版本的
smlpkg
可执行文件?如果您阅读我提供的第一个链接的第二句话,“包管理器对所使用的标准ML编译器一无所知,因此非常通用。”是否有SMLNJ版本的
smlpkg
可执行文件?如果您阅读我提供的第一个链接的第二句话,“包管理器对所使用的标准ML编译器一无所知,因此非常通用。”
$ smlpkg add github.com/diku-dk/sml-random