Types f函数签名中的#符号是什么意思?
我见过这样定义的函数:Types f函数签名中的#符号是什么意思?,types,casting,f#,symbols,type-signature,Types,Casting,F#,Symbols,Type Signature,我见过这样定义的函数: let private applyTarget (logger:#ILogger) ceiling target = logger.Debug "enforce ceiling" match target > ceiling with | true -> ceiling | false -> target 签名中的#符号是什么意思 logger:ILogger和logger:ILogger之间有什么区别?类型签名\t称为“灵活类
let private applyTarget (logger:#ILogger) ceiling target =
logger.Debug "enforce ceiling"
match target > ceiling with
| true -> ceiling | false -> target
签名中的#符号是什么意思
logger:ILogger
和logger:ILogger
之间有什么区别?类型签名\t
称为“灵活类型”,它只是'A when'A:>t
的缩写
也就是说,#t
的意思是“t的任何子类型”我相信它是一个。我怀疑,因为F#中的向上转换并不总是隐式的,所以不使用灵活类型强制调用方使用它是有意义的。