2012-12-12 107 views
2

這是一個真正的問題。Ocaml:有沒有辦法在進程之間傳遞對象?

我正在使用命名管道在進程/線程之間傳輸數據,但是這個數據的類型是字符串是可以傳遞和對象的方式嗎?

反正有傳遞對象嗎?

我的問題是這樣的:

我有一個線程導彈和工藝世界。 世界接收導彈的位置並返回新位置的計算。

現在我正在通過從管道中寫入字符串中獲取信息來做到這一點。有沒有辦法將它作爲對象或元組傳遞?

如果有人可以幫助我,這將是偉大的! 謝謝。

回答

6

您可以使用Marshal模塊通過字節流傳遞任意OCaml值。很難得到正確的,所以我建議閱讀Marshal section of the manual。主要的是它只傳遞值,而不是類型。因此,您的接收過程需要爲要傳遞的對象的確切類型定義一個定義,並且您需要在接收方中明確指定類型。

包含函數(包括OO風格的對象)的值不能在同一程序的副本之間進行編組。也許這適用於你的情況(因爲你提到你有一個線程),但最好還是使用一個元組。

+0

謝謝,我會閱讀,看看它是否符合我的需求! –

相關問題