嗨,我需要將我的F#代碼更改爲Haskell代碼,但我是如此新的Haskell,我不能這樣我的代碼只是從鍵盤讀取數據,如果數據不是整數返回錯誤消息,然後計算ñ斐波那契數,然後寫入到一個列表寫入列表後成txt文件這裏是我的代碼斐波那契數字在Haskell
open System
let rec fib n =
match n with
|0->0
|1->1
|2->1
|n->fib(n-1)+fib(n-2);;
let printFibonacci list =
for i=0 to (List.length list)-1 do
printf "%d " (list.Item(i));;
let writeToFile list =
let file = System.IO.File.Create("C:\out2.txt")
let mutable s =""
let writer = new System.IO.StreamWriter(file)
try
for i=0 to (List.length list)-1 do
s <- list.Item(i).ToString()
writer.Write(s+" ")
finally
writer.Close()
file.Dispose()
printfn "Writed To File"
let mutable control = true
let mutable num = 0
while control do
try
printfn "Enter a Number:"
num <- Convert.ToInt32(stdin.ReadLine())
let listFibonacci = [for i in 0 .. num-1->fib(i)]
printFibonacci(listFibonacci)
printfn "\n%A"(listFibonacci)
writeToFile(listFibonacci)
control<-false
with
| :? System.FormatException->printfn "Number Format Exception";
Console.ReadKey true|>ignore
這裏覆蓋得很好:http://stackoverflow.com/questions/1105765/generating-fibonacci-numbers-in-haskell – JeffH 2010-05-10 15:33:17
谷歌會給你Haskell wiki頁面:http://www.haskell.org/haskellwiki/The_Fibonacci_sequence詳細說明了這一點。 – 2010-05-10 18:10:25