2016-01-22 45 views
0

我試圖解決一個問題,即我通過pipe.To所有值都具有循環模擬我的問題,我是通過抽樣問題遍歷richPipe值:燙傷

Input file : 
    number 
    1 
    2 
    3 
    4 


    Output should be 
    number sumOfSmaller 
    1  0    
    2  1    
    3  3 
    4  6 

所以對於每個值解釋我必須讀取管道中的所有記錄並應用函數sumOfSmaller。 我不知道如何循環滾動管道中的值。 使用地圖我可以申請列表中的每個元素的功能,但我想避免這種計算策略

回答

0

你可以得到整個管的內容與 val wholePipe = pipe.groupAll.toList,然後用自己加入,並應用功能:pipe.groupAll.join(wholePipe).values.map { case (x, list) => sumOfSmaller(x, list) }

雖然這不是一個好主意,但是如果你的菸斗尺寸合適的話。知道更多關於你真正想要做什麼的細節幾乎肯定會允許更好的方法。