开发者

Type mismatch error

Here is my code:

open System

let rec gcd a b =
    match b with
        | x when x = 0 -> a
        | _ -> gcd(b, a % b)

let result = gcd 15 10

[<EntryPoint>]
let main(args : string[]) =
    printfn "result = %d" result 
    0
开发者_如何学运维

Why I get the error with this code:

D:\datahub\Dropbox\development\myprojects\project-euler\Problem_5\problem_5.fs(6,16): error FS0001: Type mismatch. Expec
ting a
    'a
but given a
    int -> 'a
The resulting type would be infinite when unifying ''a' and 'int -> 'a'


The example tries to separate arguments by using a comma. In F# multiple arguments are supplied to a function by separating them with whitespace:

let rec gcd a b =
    match b with
        | x when x = 0 -> a
        | _ -> gcd b (a % b)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜