试图实现与Maybe相同性质的应用。 在赞美方面有很多错误,最像是
$(document).ready(function(){
$('a[data-toggle=dropdown]').on('click', function(e){
//$(this).next('ul').show();
//console.log('click');
e.stopPropagation();
e.preventDefault();
$(this).parent().siblings().removeClass('open');
$(this).parent().toggleClass('open');
});
if($('.dropdown-menu').hasClass('open')){
console.log('visible');
}
});
代码如下
Couldn't match expected type ‘FixMePls b’
with actual type ‘Maybe a1’
欢迎任何关于我做错的提示。我怀疑它的数据类型声明,但不知道如何解决它。
答案 0 :(得分:6)
data FixMePls a = FixMe | Pls a deriving (Eq, Show)
对那个
来说没问题instance Monoid a => Monoid (FixMePls a) where
mempty = Nothing
mappend m Nothing = m
mappend Nothing m = m
mappend (Pls a) (Pls a') = Pls (mappend a a')
此处您开始混合Maybe
和FixmePls
- Nothing
是Maybe
的构造函数,而Fixme
是您需要的构造函数。
instance Monoid a => Monoid (FixMePls a) where
mempty = FixMe
mappend m FixMe = m
mappend FixMe m = m
mappend (Pls a) (Pls a') = Pls (mappend a a')
我正在省略应用实例 - 因为它应该非常相似,如果你有问题 - 我发现了一个父母化错误;)