2017-08-18 53 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') 
相關問題