open System
//helpfunction
let fileReplace filename needle replace =
let replaceIn (reader:System.IO.StreamReader) needle (replace: String) =
while not(reader.EndOfStream) do
let mutable allText = reader.ReadToEnd()
allText <- allText.Replace(needle, replace)
reader.Close()
//start
let reader = System.IO.File.OpenText filename
let newText = replaceIn reader needle replace
let writer = System.IO.File.CreateText filename
writer.Write newText ; writer.Close()
// testing
let filename = @".\abc.txt"
let needle = "med"
let replace = "MED"
fileReplace filename needle replace
Reader.Close() を動かしてたくさん実験しましたが、まだ結果はありません。printfn "%A" allText
の下に挿入するreader.Close()
と、正しい結果が出力されることがわかっているので、 writer を呼び出すと、間違っているのではないかと思います。abc.txt の med を MED に置き換えるコードが必要です。しかし、代わりに空のabc.txtを残します