4
Я видел функцию, определенную следующим образом:Что означает символ # в сигнатуре функции f #?
let private applyTarget (logger:#ILogger) ceiling target =
logger.Debug "enforce ceiling"
match target > ceiling with
| true -> ceiling | false -> target
Что делает # символ означает в подписи?
В чем разница между logger:ILogger
и logger:#ILogger
?
Я считаю, что это [аннотация для гибкого типа] (https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/flexible-types-%5bfsharp%5d). Я подозреваю, что, поскольку повышение в F # не всегда подразумевается, имеет смысл не форсировать его на вызывающих, используя гибкий тип. –