为什么模式在此代码中匹配重叠:
.toggle{
font-size: 16px;
display: block;
width: 150px;
border: 1px solid gray;
}
.toggle + input{
display:none;
}
.toggle + input + *{
display:none;
margin-bottom: 4px;
}
.toggle+ input:checked + *{
display:block;
}
考虑到<div class="PageSection">
<a class="LinkButton" href=""><span>This Is My Link, </span> <span> There Are Many Like </span> <span> It But This One Is Mine </span></a>
</div>
与(+) (Roman (_, [])) x = x
(+) x (Roman (_, [])) = x
相同,这是有道理的,但我不认为haskell会照顾它,或者它是否会这样做?
答案 0 :(得分:3)
x
可以是任何内容,因此它可以是Roman (_,[])
。
答案 1 :(得分:0)
问题是x
匹配任何内容。
您可以使用at-patterns使其独一无二:
(+) (Roman (_, [])) x@(Roman(_, _:_) = x
(+) x@(Roman(_, _:_) (Roman (_, [])) = x