我正在做一个给出两个时间戳的练习,我必须找出哪个大。这个程序是用 SML 编写的。所以我想出了这个程序...
val record1 = {hour = 11, min = 45, f = "PM"};
val record2 = {hour = 2,min = 13,f = "AM"};
fun timerrecord(record1,record2)=
if (#f record1 = "PM") andalso (#f record2="AM") then "t1 comes First"
else if(#f record1 = "AM") andalso (#f record1="PM") then "t2 comes First"
else if (#hour record1 > #hour record1) then "t1 comes First"
else if (#hour record1 < #hour record1) then "t2 comes First"
else if (#min record1 > #min record1) then "t1 comes First"
else "t2 comes First";
问题是当我在没有函数的情况下编写它时,它给出了正确的结果,但是当我将代码放入该函数(如上所示)时,它给出了一个错误......未解决的 FLEX RECORD。
t1,t2 和 record1,record2 是时间戳。
我是 SML 的新手,所以任何帮助都会有所帮助。提前致谢。