繁体   English   中英

Haskell中的正则表达式-了解多参数类型类签名

[英]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 compOptexecOpt类型或约束是什么?

附带问题。 此表达式的类型是什么?

makeRegexOpts (defaultCompOpt { caseSensitive = False }) defaultExecOpt

而对于每一个,其他两个允许编译器确定其类型

不完全的。 他们每个人都可以用来推断其他两个人 ,这就是该基金的说法。

如何运作? 好吧, 魔术 不会。编译器仅允许您声明一个单个实例,并且其中一个参数中出现任何特定类型。 然后,当它需要一个RegexOptions实例并且已经推导了任何一个类型参数时,它只需查找该实例即可获取其他参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM