// Learn more about F# at http://fsharp.org
// See the 'F# Tutorial' project for more help.
open System
let highLowGame() =
let rng = new Random()
let secretNumber = rng.Next() % 100 + 1
let rec highLowGameStep() =
printfn "Guess the secret number: "
let guessStr = Console.ReadLine()
let guess = Int32.Parse(guessStr)
match guess with
| _ when guess > secretNumber
-> (printfn "The secret number is lower")
highLowGameStep()
| _ when guess = secretNumber
-> (printfn "You've guessed correctly!")
()
| _ when guess < secretNumber
-> (printfn "The secret number is higher")
highLowGameStep()
highLowGameStep()
[<EntryPoint>]
let main argv =
printfn "%A" argv
0 // return an integer exit code
我檢查這些代碼就像一千次,我得到一個警告說摹uess is incomplete on pattern matching
這肯定是不行的......我也得到一個錯誤說value is not a function and cannot be applied.
這個值不是一個函數,不能被應用 - F#
我直接從一本書中複製出來,所以我不明白這是不是編譯?!
這是一本書的示例代碼?!?它在無效的用戶輸入上崩潰,有一行什麼都不做,導致編譯器警告,沒有任何好處的無用括號和奇怪的格式化,濫用通配符模式匹配代替'if-then-elif',並創建一個非一次性用'new'鍵入。即使原文中的空格應該是正確的,我是否可以建議獲得另一本書? – Vandroiy