2014-10-01 47 views
2

我想用8個元素創建一個類型爲byte數組的記錄字段,但是找不到正確的語法。如何將記錄字段定義爲f#中的數組?

我不喜歡的東西:

let dataRecord = { 
    id : int 
    data : byte array 
} 

let dataValues : byte array = Array.zeroCreate 8 

let myArray = { id = 0; data = dataValues } 

能將它的記錄定義做什麼?怎麼樣?

我上面的例子似乎有效,但我不知道它是否安全或最好或最正確的方法。

回答

6

你目前的工作沒有問題(除了你的類型定義使用的是let而不是type),所以我不清楚你要求什麼。也許這樣?

type dataRecord = { 
    id : int 
    data : byte array 
} 

let myRecord = { id = 0; data = [| for i in 1 .. 8 -> 0uy |] } 

你也可以只使用{ id = 0; data = Array.zeroCreate 8 },如果你想 - 陣列文字往往是有點更容易閱讀,但zeroCreate可能是更有效的,如果你要創建的大陣列。

+0

「讓」是一個錯誤,我認爲它在我的代碼中是正確的,但是當簡化這個例子時,我搞砸了。 :-) 謝謝您的幫助! – 2014-10-01 22:45:45

相關問題