Я ищу более короткий путь (если есть), чтобы ограничить функцию. Например.Более короткий способ ограничения функции
let inline sincos (a:'T) =
let y = sin a
let x = cos a
y, x
Для использования этой функции «T нужно будет поддерживать как Sin
и Cos
статические члены. я могу тягот его работать на float32 с:
let sincosf = sincos : float32 -> float32 -> float32
или с помощью некоторых подстановочные:
let sincosf = sincos : float32 -> _
Мой вопрос, возможно ли было бы добавить параметр типа в sincos
, так что я просто должен напишите:
let sincosf = sincos<float32>
Заранее спасибо.
Можно ли объявить 'sincos' с явным параметром типа' T ', чтобы предупреждение исчезло? –
В чем причина такого предупреждения? –
@Tim - это возможно сделать; однако вам также необходимо явно включить ограничения. Когда я пытаюсь это сделать для этого примера, компилятор F # становится неожиданно недовольным ... – kvb