2 つのタイムスタンプが与えられ、どちらが大きいかを見つける必要がある演習を行っています。このプログラムは SML で書かれているので、このプログラムを思いつきました....
type triple = {int,int,string};
val record1 = (11,45,"PM");
val record2 = (2,13,"AM");
fun timerrecord(record1:triple,record2:triple)=
let val (hour1:int,min1:int,f1:string) = record1;
val (hour2:int,min2:int,f2:string) = record2
in
if (f1= "AM") andalso (f2="PM") then "t1 comes First"
else if(f1 = "PM") andalso (f2="AM") then "t2 comes First"
else if (hour1 < hour2) then "t1 comes First"
else if (hour1 > hour2) then "t2 comes First"
else if (min1 < min2) then "t1 comes First"
else "t2 comes First";
上記のプログラムは全体として実行されていませんが、個々のロジックはタプルが原因です.2つのタイムスタンプを比較するためにタプルを最大限に活用することができません. また、タプルが既知であるかのようにアクセスする方法を知りたいので、この問題を簡単に解決できます。前もって感謝します。