我今天下午写了一些Haskell代码,我有一个必须满足的条件列表。如果它们都为真,我想返回真,如果其中一个是假,则返回假。
我有一个方法可以工作,但我只是想知道是否有更好的实现方式以提高可读性/效率。
以下是我的代码:
我有一个方法可以工作,但我只是想知道是否有更好的实现方式以提高可读性/效率。
以下是我的代码:
checkMatch :: Person -> Person -> Bool
checkMatch seeker candidate
| gender candidate == preferedGender seeker
&& gender seeker == preferedGender candidate
&& minAcceptableAge seeker <= age candidate
&& maxAcceptableAge seeker >= age candidate
&& minAcceptableAge candidate <= age seeker
&& maxAcceptableAge candidate >= age seeker = True
| otherwise = False
性别的定义是:
data Gender = Male | Female (Eq)
我刚刚对&&和|进行了对齐,以使这看起来更好一些,但我感觉肯定有更好的方法,但在谷歌上搜索后无法得出任何结论。