2014-09-30 65 views
-2

我有一個函數,我想修改一個函數我已經通過(p)在一個匿名函數,然後將其用作參數F2。斯卡拉匿名函數(創建一個新的功能基於一個通過)

這是代碼;

def f1(i: Int, p: Int => Boolean): Boolean = { 
    !f2(s,(a :Int=>Boolean) = !p(a)) 
} 

def f2(i: Int, p: Int => Boolean): Boolean 

但是,由於缺少標記,這將無法編譯,而且我有點難住。 James

+0

你確定在F1高清線2? – eliasah 2014-09-30 09:40:45

+1

我個人覺得你的問題很難理解,誰是's'?你試圖做什麼傳遞'!p'作爲函數?你可以否定'f2'的結果(或者你的情況可能不存在,因爲雙重否定是肯定的),但正如我所說的,對我來說看起來很混亂。 – 2014-09-30 09:41:26

+2

你的意思是:'!f2(i,a =>!p(a))'? – gwenzek 2014-09-30 09:42:40

回答

-1

Gzou是對的,我遇到的問題是不包括=>和!之間的空格。感謝您的,非常有幫助,

+0

點1.)我確實上調了Gzou的評論。 2.)我不能接受評論作爲答案,並且在問題已經得到解答的情況下,我在這裏發表了一篇文章來指導閱讀。我打算把這個作爲被接受的答案,但是這個系統讓你等待兩天。 – James 2014-09-30 13:47:30

0

也許你想嘗試這樣做:

def f1(i: Int, p: Int => Boolean): Boolean = { 
    !f2(i,(a :Int=>Boolean) = !p) 
} 

def f2(i: Int, p: Int => Boolean): Boolean