Я новичок в SML, и я написал программу, которая занимает два года и сравнивает их, затем занимает два месяца и сравнивает их, и, наконец, две даты.Вложенный оператор if не работает в SML
Проблема заключается в том, что если год старше, чем первый, он должен остановиться и false, но некоторые из них не уверены, является ли это моей логикой или что-то еще продолжает проверять месяцы, а затем даты, прежде чем возвращать true или ложный.
Я хочу, чтобы он проверял только месяц, если год является ложным, и проверяйте только день, если месяц является ложным.
fun is_older(year1 : int, month1 : int, day1 : int, year2 : int, month2 : int, day2 : int) =
if year1 < year2 andalso year1 > 0
then true
else
if month1 < month2 andalso month1 > 0 andalso month2 <= 12
then true
else
if day1 < day2 andalso day1 > 0 andalso day2 <= 31
then true
else false;
Это сработало Спасибо –