2012-10-08 37 views

回答

19

的毗連做你想要什麼:

concat [[1,2,3],[1,2,3],[1,2,3]] 

要在將來找到這些各種各樣的功能,你可以使用hoogle http://www.haskell.org/hoogle/

您可以搜索類型 - 你需要的功能是[[Int]] -> [Int] ,所以你可以做this search。頂層函數是concat。

我要指出,其實

concat :: [[a]] -> [a] 

因此,工程名單中的任何名單上,你也可以很愉快地搜索 hoogle與該類型來代替。雖然Hoogle的智能足以理解 哪些類型與您所要求的類型相近。

+0

酷!謝謝你的提示! :) – user1670032

5

直接回答

> concat [[1,2,3],[1,2,3],[1,2,3]] 
[1,2,3,1,2,3,1,2,3] 

,每當你想搜索的任何功能,你應該嘗試hoogle。有時類型足以獲取有關您需要的功能的信息。

+0

正是我在找什麼!謝謝! :) – user1670032

7

有一些方法來做到這一點,你可以使用列表解析,例如:

[y | x <- [[1,2,3],[1,2,3],[1,2,3]], y <- x] 

或加入的功能,即,實際上,同樣的方式:

import Control.Monad (join) 
join [[1,2,3],[1,2,3],[1,2,3]] 

或concat函數:

concat [[1,2,3],[1,2,3],[1,2,3]] 

或MSUM(與相同的concat):

import Control.Monad (msum) 
msum [[1,2,3],[1,2,3],[1,2,3]] 

或mconcat(與CONCAT相同):

import Data.Monoid (mconcat) 
mconcat [[1,2,3],[1,2,3],[1,2,3]] 
+0

謝謝!這對於看到你可以做一件事的不同方式非常有用! :) – user1670032