今天下午我正在写一些 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)
所以我只是对齐了 &&'s 和 |'s 让这看起来更好一点,但我觉得必须有更好的方法,但似乎无法想出任何搜索谷歌的东西。
先谢谢了!