2011-09-23 52 views
0

我借用了下面的保存函數來將任何類型的值保存到一個給定的文件中(爲科學家F#的作者John Harrop歡呼)。F#中的一個不想運行的保存函數

open System.IO 
    open System.Runtime.Serialization.Formatters.Binary 

    let save filename x = 
     use stream = 
     new FileStream(filename, FileMode.Create) 
     (new BinaryFormatter()).Serialize(stream, x);; 

但F#告訴我,函數的「use」部分沒有正文。我似乎不喜歡最後一行,但當我懸停時,intellisense沒有給我一個錯誤信息。

我需要聲明另一個命名空間嗎?

任何人都可以建議嗎?非常感謝任何幫助。

回答

3

適用於我的機器! :-)如果您直接在FSI中輸入,可以嘗試將其放入腳本文件並使用「發送到交互式」。如果你是而不是,請在最後一行刪除;;

+0

多麼奇怪。這是(它不喜歡,它期望和不完整的結構化構造yadda,yadda。 –

+0

我把它放到一個.fsx文件中,然後發送到交互式,就像你說的一樣!Bizarro! –

+0

哪個'('它不是像?我使用'發送到交互'我的工作原理 – Daniel