小编vis*_*i0n的帖子

Haskell:检查所有条件是否都为真.如果他们返回true,否则为假

我今天下午写了一些Haskell,我有一份必须满足的条件清单.如果它们都是真的我想要返回true,如果其中一个是假的,那么返回false.

我有一个方法正在工作,但我只是想知道是否有更好的方法来实现它的可读性/效率.

这是我有的:

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
Run Code Online (Sandbox Code Playgroud)

性别定义为:

data Gender = Male | Female (Eq)
Run Code Online (Sandbox Code Playgroud)

所以我只是调整了&&和s来使这个看起来好一点,但我觉得必须有一个更好的方法,但似乎无法想出任何搜索谷歌的东西.

提前致谢!

haskell if-statement boolean multiple-conditions

3
推荐指数
1
解决办法
3149
查看次数