У меня следующая проблема в SML: я хочу, чтобы создать набор, используя IntListSet
подпись, но вместо int
я хочу использовать large int
. Есть ли способ исправить это?Large Int Набор в SML
Спасибо, в ожидании ответа .
У меня следующая проблема в SML: я хочу, чтобы создать набор, используя IntListSet
подпись, но вместо int
я хочу использовать large int
. Есть ли способ исправить это?Large Int Набор в SML
Спасибо, в ожидании ответа .
Вы можете использовать функтор ListSetFn
. Из документации, вы найдете:
functor ListSetFn (ORD_KEY) : ORD_SET
Это говорит о том, что ListSetFn
функтор, который принимает структура, удовлетворяющая ORD_KEY
подпись, которую вы можете найти в документации, как:
type ord_key
val compare : (ord_key * ord_key) -> order
Так в основном, вам необходимо создать структуру, которая удовлетворяет ORD_KEY
подписи, такие как:
structure LargeIntKey : ORD_KEY =
struct
type ord_key = LargeInt.int
val compare = LargeInt.compare
end
И тогда вы можете создать LargeInt
экземпляр ListSetFn
функтора, выполнив:
structure LargeIntSet = ListSetFn(LargeIntKey)
Большое спасибо! Действительно полезно! –
@JohnSig Если бы это ответили на ваш вопрос (как это сделал мой родственный вопрос, вероятно, вы должны принять это как правильный ответ;)). –
Пожалуйста, не забудьте отметить ответы, как принято, если они помогли вам решить вашу проблему. –