2017-08-18 52 views
0

在Ramda我可以这样做如下(这只是假设的代码,只是为了说明我在寻找的那种溶液)在Ramda中是否有R.notEquals等价物?

const highest = function(attribute) { 
    switch(attribute){ 
    case 'score': 
     return 'John' 
    } 
} 

const hasHighestScore = R.compose(
    R.equals, 
    R.toLower, 
    highest 
)('score') 

hasHighestScore('john') // true 

是否有R.equals等效返回相反价值却与R.equals相同?

,使得这个假设的代码将工作:

const hasNotHighestScore = R.compose(
     R.notEquals, 
     R.toLower, 
     highest 
    )('score') 

很显然,我会反先前的结果

const doesNotHaveHighestScore = x => !hasHighestScore(x) 

,但我想知道是否有类似R.notEquals或者是我可以自己创建它?谢谢。

+3

Ramda有一个'not'功能恭维一个谓词。例如。 'const notEqual = value => R.compose(R.not,R.equals(value))'。 –

+0

它的工作方式不同,例如,如果我只是在R.not后跟R.equals,就会出现错误“_arity的第一个参数必须是一个不大于”的非负整数“ – Babak

+0

出来,谢谢! – Babak

回答

0

考虑以下(我写这篇阅读的评论之前,说实话我不知道为什么这个人不只是答案):

const notHasHighestScore = R.compose(
    R.complement, 
    R.equals, 
    R.toLower, 
    highest 
)('score') 
相关问题