2013-05-30 65 views

回答

0

我可以想象一個非常黑客的方式,從unbox到可存儲,但它是真正hacky和效率低下!事實上,通過它,我實際上並不想寫出來。這個概念是,你可以用一個Unbox做的所有事情都可以在一個非盒裝的矢量中使用。因此,您可以使用單例元素初始化一個未裝箱的向量。鑑於上述元素,您可以創建一個持有它的向量,然後通過邪惡撬開您的向量,並將這些字節直接用於Storable實例。你可以同樣擺脫另一種方式。

但我不知道你爲什麼想這樣做。默認情況下可存儲的大多數數據類型也都是Unbox,反之亦然。而對於那些他們不是,派生Storable很容易 - 無論是手動,還是一個工具。

2

檢查vector包。使用Data.Vector.convert :: (Vector v a, Vector w a) => v a -> w a

+0

我似乎無法找到你在[矢量包(HTTP提的轉換功能: //hackage.haskell.org/packages/archive/vector/0.5/doc/html/Data-Vector.html)。此外,基於類型簽名,我不明白它會有什麼幫助? –

+0

請看'Data.Vector'模塊/文檔的最後部分。 – vivian

+0

我看到的全部內容都是'toList'和'fromList',一個[hoogle搜索](http://www.haskell.org/hoogle/?hoogle=convert)什麼都沒帶。 –

相關問題