[英]Regex in Haskell - Understanding multi parameter typeclass signatures
我很难弄清楚如何使用Text.Regex
包。 以下签名是什么意思?
class RegexOptions regex compOpt execOpt
| regex->compOpt execOpt, compOpt->regex execOpt, execOpt->regex compOpt
我知道RegexOptions
有三个类型参数,对于每个参数,另外两个允许编译器确定其类型,但是如何? regex
compOpt
和execOpt
类型或约束是什么?
附带问题。 此表达式的类型是什么?
makeRegexOpts (defaultCompOpt { caseSensitive = False }) defaultExecOpt
而对于每一个,其他两个允许编译器确定其类型
不完全的。 他们每个人都可以用来推断其他两个人 ,这就是该基金的说法。
如何运作? 好吧, 魔术 ! 不会。编译器仅允许您声明一个单个实例,并且其中一个参数中出现任何特定类型。 然后,当它需要一个RegexOptions
实例并且已经推导了任何一个类型参数时,它只需查找该实例即可获取其他参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.