Эта функция является частью ряда функций (для курса).Предполагается взять список реалов [s, a, w, h] и сравнить его с другими списками реалов на равенство.Эти списки действительных данных создаются путем преобразования объектов типа racer (в списке R :: acer) в реальные списки с использованием racer_stats ().
Затем я хочу, чтобы функция возвращала Racer, характеристики которого равны его racer_stats.() статистика.К сожалению, независимо от того, что я пытаюсь, я не могу понять, как получить SML для сопоставления с шаблоном [s, a, w, h] как реальный список, поэтому он не будет сравниваться, даже когда я создал новый базовый случай.
Любой совет?
fun RFS([s,a,w,h], []) = None
| RFS([s,a,w,h], R::acer) =
if ( [s,a,w,h] = racer_stats(R) )
then R
else RFS([s,a,w,h], acer);
Я также попытался:
fun RFS( [0.1, 0.2, 0.3] , []) = None
| RFS([s,a,w,h], []) = None
| RFS([s,a,w,h], R::acer) =
if ( [s,a,w,h] = racer_stats(R) )
then R
else RFS([s,a,w,h], acer);
и получил синтаксическую ошибку.